MySQL-主从复制监控

2021-08-17 11:17:11 浏览数 (3)

官方文档

https://dev.mysql.com/doc/

如果英文不好的话,可以参考 searchdoc 翻译的中文版本

http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.coder114.cn.html


监控主从复制链路的状态

从库上执行 show slave status G ;

IO线程 和SQL线程 必须都是 Yes , 上图这个地方就出问题了。。。


监控主从复制延迟

查看延迟是否可在业务接收的范围之内,通常1S以内都能同步过来。

如何监控从服务上的延迟呢?

从库上执行 show slave status G ; 看 Seconds_Behind_Master

这个参数不太准。

来看下另外的方式

需要多线程程序同时对主从服务器状态来检测检测 。

Step1 : 主服务器 show master status G 获取 二进制日志文件名和偏移量

Step2 : 从服务器上 show slave status G; 获取已经从主上获取的二进制日志信息, 以及已经执行完成的主上二进制日志的名字和 偏移量

已经执行完成的主上二进制日志的名字和 偏移量

文件名都相同,偏移量都相同,说明不延迟,否则延迟


监控主从复制数据一致性 pt-table-checksum

语法

代码语言:javascript复制
pt-table-checksum  u=dba,p=密码 --databases mysql --replicate test.checksums

u 检测用户 p 检测用户的密码 (需新建一个用户 ) –databases 需要检查的数据库 –replicate 指定要在test库下创建checksums表,并将检查结果写入 checksums表

需要建立用户dba,然后授权

代码语言:javascript复制
GRANT SELECT , PROCESS,SUPER,REPLICATION SLAVE on *.* TO 'dba'@ip IDENTIFIED 
 BY '密码'

主库上执行如下,从库无需执行。

0 人点赞