1、MIXED模式无索引或SQL慢在从库查看到正在执行的SQL,解决方法:SQL比较简单,则检查否缺少索引,并添加索引。例如update操作where条件无索引SQL比较复杂,可能效率会比较低。这类可以到主库把binlogformat改为row.
2、主库上有大事务,导致从库延时解决方法:找开发人员沟通,增加缓存,异步写入数据库,减少对DB的大量写入。
3、主库写入频繁,从库压力跟不上主库导致延时此类原因的主要现象是数据库的IUD(增改删)操作非常多,slave由于sql_thread单线程的原因追不上主库的写操作。解决方法:升级主库的硬件配置,设置日志刷新频率.
4、每秒将log_buffer的内容刷新到logfile,并且将日志同步刷新到磁盘。该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
5、每次commit将log_buffer刷新到logfile,并且将日志同步刷新到磁盘,每次commit将刷新到logfile,但是flush(刷到磁盘)操作并不会同时进行,每秒将日志刷新到磁盘。
6、数据库中存在大量myisam表,在备份的时候导致从库延迟由于xtrabackup工具备份到最后会执行flush tables with read lock,对数据库进行锁表以便进行一致性备份,然后对于myisam表锁,会阻碍slave sql_thread线程停滞运行而导致hang。