mysql主从配置成功,但是过段时间再操作master,发现slave没有同步更新

复制有延迟,slave想要尽可能及时跟上master的进度,可以尝试采用以下几种方法:

1、采用MariaDB发行版,它实现了相对真正意义上的并行复制,其效果远比ORACLEMySQL好的很多。在我的场景中,采用MariaDB作为slave的实例,几乎总是能及时跟上master。如果不想用这个版本的话,那就老实等待官方5.7大版本发布吧;

关于MariaDB的ParallelReplication具体请参考:ReplicationandBinaryLogServerSystemVariables#slave_parallel_threads–MariaDBKnowledgeBase

2、每个表都要显式指定主键,如果没有指定主键的话,会导致在row模式下,每次修改都要全表扫描,尤其是大表就非常可怕了,延迟会更严重,甚至导致整个slave库都被挂起,可参考案例:mysql主键的缺少导致备库hang;

3、应用程序端多做些事,让MySQL端少做事,尤其是和IO相关的活动,例如:前端通过内存CACHE或者本地写队列等,合并多次读写为一次,甚至消除一些写请求;

4、进行合适的分库、分表策略,减小单库单表复制压力,避免由于单库单表的的压力导致整个实例的复制延迟;

其他提高IOPS性能的几种方法,根据效果优劣,我做了个简单排序:

1、更换成SSD,或者PCIeSSD等IO设备,其IOPS能力的提升是普通15KSAS盘的数以百倍、万倍,甚至几十万倍计;

2、加大物理内存,相应提高InnoDBBufferPool大小,让更多热数据放在内存中,降低发生物理IO的频率;

3、调整文件系统为XFS或ReiserFS,相比ext3可以极大程度提高IOPS能力。在高IOPS压力下,相比ext4有更稳健的IOPS表现(有人认为XFS在特别的场景下会有很大的问题,但我们除了剩余磁盘空间少于10%时引发丢数据外,其他的尚未遇到);

4、调整RAID级别为raid1+0,它相比raid1、raid5等更能提高IOPS性能。如果已经全部是SSD设备了,可以2块盘做成RAID1,或者多快盘做成RAID5(并且可以设置全局热备盘,提高阵列容错性),甚至有些土豪用户直接将多块SSD盘组成RAID50;

5、调整RAID的写cache策略为WB或FORCEWB,详情请参考:常用PC服务器阵列卡、硬盘健康监控以及PC服务器阵列卡管理简易手册;

6、调整内核的ioscheduler,优先使用deadline,如果是SSD,则可以使用noop策略,相比默认的cfq,个别情况下对IOPS的性能提升至少是数倍的。

其他更多方法,欢迎大家帮忙补充:)

mysql的主从复制能配置远程mysql吗

long_query_time=1

#slow_query_log

slow_query_log=1

#slow_query_log_file=var/lib/mysql/slow-query.log

#以前版本的参数格式跟5.6的不一致

slow_query_log_file=var/lib/mysql/slow-query.log

#将所有没有使用带索引的查询语句全部写到慢查询日志中

log_queries_not_using_indexes=1

本回答由提问者推荐

请问:1,mysql主从复制是什么概念,什么场合下用,最好举例说明;

1 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库,从数据库的作用和使用场合一般有几个:

一是作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作;

二是可在从数据库作备份、数据统计等工作,这样不影响主数据库的性能;

2 读写分离,是指读与写分别使用不同的数据库,当然一般是在不同服务器上的;在同一台服务器上的读写环境,估计只是用来测试吧。

一般读写的数据库环境配置为,一个写入的数据库,一个或多个读的数据库,各个数据库分别位于不同的服务器上,充分利用服务器性能和数据库性能;当然,其中会涉及到如何保证读写数据库的数据一致,这个就可以利用主从复制技术来完成。

一般应用场合为:业务吞吐量很大,读数据库(可简单理解为select语句的 比例和影响)的负载较大;

官方的mysql-proxy就是一个实现了读写分离、负载均衡等多个功能的软件。主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库

1. MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

2. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

3. 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。

4. 对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQ L是开放源码软件,因此可以大大降低总体拥有成本。

如何添加新数据库到mysql主从复制列表

首先,我们大概罗列一下主从复制的基本步骤,(MySQL主从首先需要在各自服务器配置好)。

1. 复制数据库。

mysqldump --master-data --single-transaction -R --databases [db_name] | gzip -9 - | pv > all-db-with-master-data.sql.gz

注意:innodb用 –single-transaction, myisam需要用 –lock-all-tables。

2. 复制,导入数据。

pv < all-db-with-master-data.sql.gz | zcat | mysql

3. 启动slave数据库。

slave start

注意:切换到主的语句已经在导出的sql语句里面了,注意查看。change master to master_log_file=’(binlog name in relay_master_log_file)’, master_log_pos=(exec_master_log_pos number)。

那么,在现有的主从复制结构中,如何增加一个新的数据库进去?比如我们要增加一个数据库在master服务器上,比如,名为newdb的数据库。

具体操作如下:

1. 从服务上,停掉slave数据库。

stop slave;

2. 主服务器上,导出新数据库。

mysqldump --master-data --single-transaction -R --databases newdb > newdb.sql

3. 主服务器上,修改my.cnf文件,添加新库到binlog-do-db参数,重启mysql。

4. 在导出的newdb.sql里面查找当前的日志文件以及位置(change master to …)

然后让slave服务器执行到这个位置。

start slave until MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=1222220;

其中MASTER_LOG_FILE以及MASTER_LOG_POS在导出的数据库newdb.sql顶部位置查找。

4. 导入新库到从服务器上。

mysql < newdb.sql

5. start slave

其中比较重要的是在主服务器上导出新库时的日志位置(position A),这个点很重要,以这个点做为分界线,导入新库。

这种方法也同样适用于某个数据库或者某个数据表不同步的情况,比如主从数据库有一个表由于某些原因数据不一致,那么上面的方法只需要去掉重启数据库一步,其他的操作基本

mysql主从复制延迟解决相关推荐

  1. MySQL主从复制延迟原因及处理思路

    简单概述一下复制逻辑: 1.主库将对数据库实例的变更记录到binlog中. 2.主库会有binlog dump线程实时监测binlog的变更并将这些新的events推给从库(Master has se ...

  2. 动力节点老杜mysql文件_mysql主从复制+mysql主从复制延迟解决方案

    ### 1. 为什么需要mysql主从复制 1. 数据热备 在复杂的业务场景中, 可能因为某一条sql造成了锁表, 这样就会影响正常的业务运行.在复杂的业务场景中, 我们可以使用mysql主从复制, ...

  3. mysql主从复制延迟问题的相关知识与解决方案

    一.如何监控发生了主从延迟? 在从库机器上,执行show slave status,查看Seconds_Behind_Master值,代表主从同步从库落后主库的时间,单位为秒,若同从同步无延迟,这个值 ...

  4. 【踩坑记录】记一次MySQL主从复制延迟的坑

    最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误. 情景 一个活动信息需要审批,审批之后才能生效.因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容, ...

  5. MySQL主从复制故障解决

    丛库复制停止,进丛库查看,报错1007,数据库已存在,不能创建数据库 mysql> show slave status\G; Slave_IO_Running: Yes Slave_SQL_Ru ...

  6. mysql 案例~mysql主从复制延迟处理(2)

    一 简介:今天来聊聊周期性从库延迟的问题,是上一篇的基础分析的一个场景 二 背景:近期每天的指定时间段,收到从库延迟的报警,然后过一段时间恢复.由于从库是提供读服务的,所以需要解决 三 分析思路: 1 ...

  7. mysql replication延迟_深入mysql主从复制延迟问题的详解

    面试mysqldba的时候遇到一个题: 描述msyql replication 机制的实现原理,如何在不停掉mysql主库的情况下,恢复数据不一致的slave的数据库节点? MySQL的复制(repl ...

  8. 字节跳动高工面试:mysql主从复制延迟

    RPC概述 RPC(Remote Procedure Call)即远程过程调用,允许一台计算机调用另一台计算机上的程序得到结果,而代码中不需要做额外的编程,就像在本地调用一样. 现在互联网应用的量级越 ...

  9. MySQL主从复制延迟的监测及缓解

    参考:http://blog.csdn.net/jiao_fuyou/article/details/15027447 http://mp.weixin.qq.com/s?__biz=MzA5Nzc4 ...

最新文章

  1. linux 服务器拦截http请求,详解Linux屏蔽浏览器上http请求警报的方法
  2. CF1010F Tree
  3. 浙江理工大学电信宽带校园网访问添加路由表命令(2020.10)(Windows和Liunx)
  4. 如何去除TD之间的空隙
  5. Struts2中的OGNL详解
  6. 特斯拉电动皮卡发布:马斯克称它能防弹、能上火星,结果还没扛过一钢球......
  7. 2021.10.26 Node.js笔记
  8. Oracle随机函数的取法
  9. java如何代码找错误_如何编写可怕的Java代码?
  10. c#简要概括面向对象的三大特征(三)
  11. 软件设计模式与体系结构(入门基础知识)
  12. java计算机毕业设计房产中介管理系统源码+系统+lw+数据库+调试运行
  13. echarts折线图标识最大值
  14. 电子计算机奏出美妙的交响改为把字句,部编版四年级语文上册(课文内容填空+句子专练含答案).doc...
  15. 齐博cms基础教程之认识齐博cms
  16. 液化空气在中国启动生物甲烷业务;斯凯孚和ABB加大工业自动化领域合作 | 美通企业日报...
  17. 全民都是评选专家,提前一天泄露 2020 博客之星最终结果
  18. 中国颅骨固定系统行业市场供需与战略研究报告
  19. 在Ubuntu 18下安装SIMULIA Abaqus 2020
  20. 中标麒麟系统安装达梦8 数据库

热门文章

  1. 计算机网络常用知识点
  2. 【Earth Engine】基于GEE对季节性地物进行分类(多源数据叠图+监督分类)
  3. 七天学习微信小程序开发(一)—— 学习笔记
  4. 乘法运算中的有效数据位
  5. c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数的使用
  6. bzero和memset函数区别联系
  7. android 动态加载sdk,LiteAVSDK集成,因此可以动态加载库
  8. c++模板:typename的使用
  9. opencv-python cv2
  10. iPad、iPad Pro反复自动重启怎么办?