多主一从架构见前面文章,本文略。
同步了三个库到一台从机后,发现有两个库延时特别严重,且与主库延迟时间越拉越长,查看延迟时间,用show slave status;看Seconds_Behind_Master的值。
为了查找原因,准备开启慢日志,发现mysql从5.6开始慢日志配置项就改了,新的配置项有这么几个:
long_query_time=2
slow_query_log = 1
slow_query_log_file=/xx/xx/slow.log
配置好重启后,发现slow.log是生成了,但是等了一段时间后,没有记录到一条慢sql,通过show processlist发现慢sql多的是,就是无记录,暂未解决这个问题。
没办法,只好用show processlist人工检查慢sql,逐条优化。
之前为了初始多台主服的数据,将导过来的从库挨个改成了myisam引擎,为了加快同步速度,又改回innodb,发现在mysql5.7版本下,innodb确实要比myisam快。
经过一段时间观察,优化了几个关键的慢sql,同步延迟终于改善