MySQL数据库主从同步延迟分析及解决方案
2017-10-08 15:36
411 查看
一、MySQL的数据库主从复制原理
1.主库对所有DDL和DML产生的日志写进binlog;
2.主库生成一个 log dump 线程,用来给从库I/O线程读取binlog;
3.从库的I/O Thread去请求主库的binlog,并将得到的binlog日志写到relay log文件中;
4.从库的SQL Thread会读取relay log文件中的日志解析成具体操作,将主库的DDL和DML操作事件重放。
二、主从复制存在的问题
1.主库宕机后,数据可能丢失;
2.主从同步延迟。
三、MySQL数据库主从同步延迟产生原因
MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。
Slave的SQL Thread线程将主库的DDL和DML操作事件在slave中重放。DML和DDL的IO操作是随即的,不是顺序的,成本高很多。
另一方面,由于SQL Thread也是单线程的,当主库的并发较高时,产生的DML数量超过slave的SQL Thread所能处理的速度,或者当slave中有大型query语句产生了锁等待那么延时就产生了。
常见原因有:Master负载过高、Slave负载过高、网络延迟、机器性能太低、MySQL配置不合理。
四、主
4000
从延时排查方法
通过监控 show slave status 命令输出的Seconds_Behind_Master参数的值来判断:
NULL,表示io_thread或是sql_thread有任何一个发生故障;
0,该值为零,表示主从复制良好;
正值,表示主从已经出现延时,数字越大表示从库延迟越严重。
五、解决方案
解决数据丢失的问题:
1.半同步复制;
2.主库配置sync_binlog=1,innodb_flush_log_at_trx_commit=1
解决从库复制延迟的问题:
1.优化网络
2.升级Slave硬件配置
3.Slave调整参数,关闭binlog,修改innodb_flush_log_at_trx_commit参数值
4.升级MySQL版本到5.7,使用并行复制
1.主库对所有DDL和DML产生的日志写进binlog;
2.主库生成一个 log dump 线程,用来给从库I/O线程读取binlog;
3.从库的I/O Thread去请求主库的binlog,并将得到的binlog日志写到relay log文件中;
4.从库的SQL Thread会读取relay log文件中的日志解析成具体操作,将主库的DDL和DML操作事件重放。
二、主从复制存在的问题
1.主库宕机后,数据可能丢失;
2.主从同步延迟。
三、MySQL数据库主从同步延迟产生原因
MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。
Slave的SQL Thread线程将主库的DDL和DML操作事件在slave中重放。DML和DDL的IO操作是随即的,不是顺序的,成本高很多。
另一方面,由于SQL Thread也是单线程的,当主库的并发较高时,产生的DML数量超过slave的SQL Thread所能处理的速度,或者当slave中有大型query语句产生了锁等待那么延时就产生了。
常见原因有:Master负载过高、Slave负载过高、网络延迟、机器性能太低、MySQL配置不合理。
四、主
4000
从延时排查方法
通过监控 show slave status 命令输出的Seconds_Behind_Master参数的值来判断:
NULL,表示io_thread或是sql_thread有任何一个发生故障;
0,该值为零,表示主从复制良好;
正值,表示主从已经出现延时,数字越大表示从库延迟越严重。
五、解决方案
解决数据丢失的问题:
1.半同步复制;
2.主库配置sync_binlog=1,innodb_flush_log_at_trx_commit=1
解决从库复制延迟的问题:
1.优化网络
2.升级Slave硬件配置
3.Slave调整参数,关闭binlog,修改innodb_flush_log_at_trx_commit参数值
4.升级MySQL版本到5.7,使用并行复制
相关文章推荐
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案(摘自http://www.jb51.net/article/41545.htm)
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案
- 深入解析Mysql 主从同步延迟原理及解决方案
- 怎样解决MySQL数据库主从复制延迟的问题(最后一个解决方案)
- mysql 主从同步过程详解、主从延迟原理分析
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- 14、产生MySQL主从同步延迟的问题及解决方案
- 13、MySQL数据库主从不同步解决方案
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- MYSQL常用的架构和优化及常用的配置详解及MySQL数据库主从同步延迟原理
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- [置顶] MySQL数据库主从同步存在问题的分析与学习
- MYSQL异常处理日志:主从库同步延迟时间过长的分析