1.创建 test 数据库中创建 heartbeat 表。
pt-heartbeat --user=root --password=rootroot --ask-pass --host=192.168.1.51 --create-table -D test --interval=1 --update --replace --daemonize --log=/tmp/pt-heartbeat.log
2.heartbeat表。
执行上面的命令后会创建一张heartbeat表。
MySQL>use test;
mysql> select *from heartbeat;
+----------------------------+-----------+---------------------+----------+-----------------------+---------------------+
| ts | server_id | file | position | relay_master_log_file | exec_master_log_pos |
+----------------------------+-----------+---------------------+----------+-----------------------+---------------------+
| 2023-03-01T14:09:07.000970 | 1311 | mysql-binlog.000093 | 305795 | NULL | NULL |
+----------------------------+-----------+---------------------+----------+-----------------------+---------------------+
1 row in set (0.01 sec)
2.连接到从库检测主从同步情况。
pt-heartbeat --user=root --password=rootroot --host=192.168.1.58 --port=3306 --create-table -D test --check
0.00
--输出0表示主从同步。
3.检查1s,2s,3s的延迟情况。
[root@mysql1 ~]#
pt-heartbeat --user=root --password=rootroot --host=192.168.1.51 --port=3306 --create-table -D test --interval=1 --frames=1s,2s,3s --master-server-id=1311 --print-master-server-id --monitor
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
0.00s [ 0.00s, 0.00s, 0.00s ] 1311
--输出0表示主从同步。
4.总结
pt-heartbeat心跳检测工具,可以检查主从同步情况,发现延迟。是一块非常不错的工具。