官方文档
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 '密码'
主库上执行如下,从库无需执行。