MySQL中second behind master不准确怎么处理
这篇文章主要为大家展示了“MySQL中second behind master不准确怎么处理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中second behind master不准确怎么处理”这篇文章吧。
binglog日志中event的event header(event header的前4个字节)记录了event的时间戳,SQL回放的时间减去这个event产生的时间,就是Seconds_Behind_Master的时间。但是这个时间不准确,线上有时延时是几千秒(3600s),但是突然就变成了0,有这种情况。
pt-heartbeat,下载通用二进制包
创建监控数据库:
mysql> create database monitor;
Query OK, 1 row affected (0.02 sec)
下载安装
./pt-heartbeat -D monitor --update -uroot -p oracle -P3306 -h 10.10.60.60 --create-table --daemonize
参数的意义:
--update表示要实时更新时间戳的数据,这就是和之前的seconds_behind_master不同,seconds_behind_master并不是实时更新。
--daemonize放到后台执行
--create-table第一次需要创建heartbeat名的表。
pt-heartbeat创建一个带有时间戳的表,并且因为是主从,这样表会复制到从上。
并且我们可以看到,每次查询的时候时间戳和position都是变化的,
备库上heartbeat表的ts列时间和主库heartbeat表中ts列的时间差就是主从复制的延迟时间
并且工具中还提供了monitor监控工具。
监控:
./pt-heartbeat -D monitor --monitor --master-server-id 603306 -uroot -p oracle -P3306 -h 10.10.60.60
看精确的看第一列,后几列分别为1min、5min、15min内的延迟时间。
以上是“MySQL中second behind master不准确怎么处理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341