监控 MySQL 只读副本的复制滞后
对于 MySQL 只读副本,可以在 Amazon CloudWatch 中通过查看 Amazon RDS ReplicaLag
指标来监控复制滞后。ReplicaLag
指标报告 Seconds_Behind_Master
命令的 SHOW REPLICA
STATUS
字段的值。
注意
以前的 MySQL 版本使用的是 SHOW SLAVE STATUS
,而不是 SHOW REPLICA STATUS
。如果您使用的 MySQL 版本低于 8.0.23,那么请使用 SHOW SLAVE STATUS
。
MySQL 复制滞后的常见原因如下所示:
-
网络中断。
-
对只读副本上有不同索引的表进行写入操作。如果在只读副本上将
read_only
参数设置为0
,则在只读副本变得与源数据库实例不兼容时,复制会中断。对只读副本执行维护任务之后,我们建议您将read_only
参数调整回1
。 -
使用 MyISAM 等非事务性存储引擎。仅 MySQL 上的 InnoDB 存储引擎支持复制。
当 ReplicaLag
指标达到 0 时,即表示副本已赶上源数据库实例进度。如果 ReplicaLag
指标返回 -1,则当前未激活复制。ReplicaLag
= -1 等效于 Seconds_Behind_Master
= NULL
。