pt-heartbeat用法
/*************************************************** pt-heartbeat *********************************/
pt-heartbeat -D test --update -h master-server --daemonize
e.g:
生成操作:
update on master ,monintor a replicat
rm /tmp/pt-heartbeat-sentinel 要操作,否則,不能在後臺長時間執行
pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 --create-table -D percona --interval=2 --update --replace --daemonize
# PTDEBUG=1 pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --interval=1 --update --daemonize --socket=/home/db/mysql/mysql.sock#
[ [email protected][[email protected] bin]# pt-heartbeat -upercona --ask-pass --host=192.168.136.135 --port=13306 --create-table -D percona --interval=1 --update --replace --daemonize
Enter password:
[[email protected] bin]# ps -ef | grep pt
root 2345 1 0 14:27 ? 00:00:00 perl /usr/bin/pt-heartbeat -upercona --ask-pass --host=192.168.136.135 --port=13306 --create-table -D percona --interval=1 --update --replace --daemonize
[ [email protected] 14:23:54]>show tables ;
+-------------------+
| Tables_in_percona |
+-------------------+
| checksums |
| heartbeat |
+-------------------+
2 rows in set (0.00 sec)
[[email protected] 14:24:07]>select * from heartbeat ;
Empty set (0.00 sec)
顯示操作:
登入到192.168.136.135,用master-server-id=10的record 與 192.168.136.135上的current sysdate時間做對比
pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
登入到192.168.136.136,用master-server-id=10的record 與 192.168.136.136上的current sysdate時間做對比
pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.136 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
[[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --table=heartbeat --master-server-id=10 --check
停止操作:
pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --table=heartbeat --master-server-id=10 --stop
rm /tmp/pt-heartbeat-sentinel
測試:
在主192.168.136.135上開啟pt-heartbeat的daemonize:
pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 --create-table -D percona --interval=2 --update --replace --daemonize
關閉主:192.168.136.135 和 從:192.168.136.136之間的複製
192.168.136.135 為主 上執行如下:
[[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
1.00s [ 0.02s, 0.00s, 0.00s ]
0.00s [ 0.02s, 0.00s, 0.00s ]
1.00s [ 0.03s, 0.01s, 0.00s ]
0.00s [ 0.03s, 0.01s, 0.00s ]
1.00s [ 0.05s, 0.01s, 0.00s ]
0.00s [ 0.05s, 0.01s, 0.00s ]
1.00s [ 0.07s, 0.01s, 0.00s ]
0.00s [ 0.07s, 0.01s, 0.00s ]
1.00s [ 0.08s, 0.02s, 0.01s ]
0.00s [ 0.08s, 0.02s, 0.01s ]
雖然關閉主從複製,但主的percona.heartbeat一直接在更新,從的沒有。
192.168.136.136 為主 上執行如下:
[[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.136 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
629.00s [ 10.48s, 2.10s, 0.70s ]
630.00s [ 20.98s, 4.20s, 1.40s ]
631.00s [ 31.50s, 6.30s, 2.10s ]
632.01s [ 42.03s, 8.41s, 2.80s ]
633.00s [ 52.58s, 10.52s, 3.51s ]
634.01s [ 63.15s, 12.63s, 4.21s ]
可以看到差值遞增,因為從庫上的percona.heartbeat沒更新
因此可以理解:
1. [[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
登入到-upercona -pPercona.0101 --host=192.168.136.135 --port=13306 讀取 --table=heartbeat 記錄 ,與當前的sysdate做對比
2. [[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.136 --port=13306 -D percona --table=heartbeat --monitor --master-server-id=10
登入到-upercona -pPercona.0101 --host=192.168.136.136 --port=13306 讀取 --table=heartbeat 記錄 ,與當前的sysdate做對比