1.主库有大量的写请求并发操作的情况,在短时间产生了大量的binlog,而从库SQL Thread为单线程回放binlog日志,很容易造成relaylog堆积,产生延时。
使用基于逻辑时钟的并行复制。
2.主库执行大事务:一个事务的执行,耗时非常长,从库执行这个事务的操作耗时也非常长。
拆分大事务语句到若干小事务中。
3.主库对大表执行一些对表结构进行修改操作的语句:对表加一个字段或者加一个索引,从库执行较慢而产生了主从复制延时。
避免业务高峰,尽量安排在业务低峰期执行 。
4.主库与从库配置不一致。
5.在binlog_format设置为row的情况下,binlog记录大量update操作,如果发生全表扫描,SQL Thread重放将特别慢,造成严重的主从复制延时。
建立合适索引。
6.从库自身压力过大。
建立更多从库,打散读请求。
本文探讨了MySQL主从复制中常见的延迟问题,包括大量并发写请求、大事务执行、表结构修改、配置不一致、binlog重放慢及从库压力过大等。提出了基于逻辑时钟的并行复制、事务拆分、业务低峰执行、配置同步、建立索引以及增加从库等解决方案,以减少主从延迟,确保数据一致性。

1万+

被折叠的 条评论
为什么被折叠?



