MySQL 主从复制延迟的定位与修复
SHOW REPLICA STATUS 的 Seconds_Behind_Source 持续增大,只读副本数据落后,读请求看到旧数据。严重时 relay log 堆积、磁盘上涨。
SHOW REPLICA STATUS\G
SHOW PROCESSLIST;
SHOW ENGINE INNODB STATUS\G
SELECT * FROM performance_schema.replication_applier_status_by_worker;
mysqlbinlog --base64-output=DECODE-ROWS -v relay-bin.000001 | tail -50
iostat -x 1 5
Seconds_Behind_Source 和 relay log 大小,设置告警。mysql — 复制状态mysqlbinlog — binlog 解析mysqladmin — 服务状态合上页面,先回答,再展开对照。
SHOW REPLICA STATUS 中复制线程状态和 relay log 是否堆积,结合 replication_applier_status_by_worker 判断回放是否跟不上。Seconds_Behind_Source 与 relay log 大小。