MySQL中second behind master不准确怎么处理

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中second behind master不准确怎么处理

创建监控数据库:

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名的表。

    MySQL中second behind master不准确怎么处理
    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

MySQL中second behind master不准确怎么处理

看精确的看第一列,后几列分别为1min、5min、15min内的延迟时间。

以上是“MySQL中second behind master不准确怎么处理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!