赞
踩
在从库上执行SHOW SLAVE STATUS
,如果结果里的seconds_behind_master
字段不等于0,则代表主从有延迟,值越大延迟越大。
网络抖动导致主库的binlog没能及时传给从库
先把从库上的查询切到主库,等网络恢复后再切回从库
从库配置差性能低,导致从库消费relay log的速度比主库生成binlog的速度慢
换成同等机型
有人在从库上执行十分消耗性能的SQL查询语句,导致从库负载高,影响了同步速度
如果一个事务在主库上执行了 10 分钟,那这个事务很可能就会导致从库延迟 10 分钟
避免在主库上执行大事务,例如一次性delete很多数据,应该改为分批delete;例如对大表进行DDL,建议使用 gh-ost 方案
只有一个线程消费relay log,速度跟不上
开启多线程并行复制功能。
注意:
MySQL 5.6(含)之后的版本才支持并行复制功能,其中5.6 版本虽然支持并行复制,但支持的粒度是按库并行,即同一个库里的relay log仍然只由一个线程负责处理。因此建议使用 5.7 以上的版本。
参考文献:
本文由阅读丁奇的《MySQL实战45讲》课程后总结编写
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。