登录主库执行,创建用于保存检查信息的库pt和表heartbeat(备库可以自动复制)。
1
|
/usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock |
1 2 3 4 5 6 |
create database pt; show databases; use pt; show tables; create table heartbeat(ts varchar(26) not NULL, server_id int unsigned NOT NULL PRIMARY KEY, file varchar(255) DEFAULT NULL, position bigint unsigned DEFAULT NULL, relay_master_log_file varchar(255) DEFAULT NULL, exec_master_log_pos bigint unsigned DEFAULT NULL); show tables; |
客户端执行如下命令(--user和--password,指的是MySQL的用户和密码,--host指的是主库的IP地址,具体根据实际进行配置),启动主库的守护进程来更新pt.heartbeat表,更新时间间隔为1秒钟。
1
|
pt-heartbeat --user=root --password=123456 --ask-pass --host=192.168.220.58 --create-table -D pt --interval=1 --update --replace --daemonize |
1
|
pt-heartbeat --stop
|
停止时会生成/tmp/pt-heartbeat-sentinel文件,下次启动主库的守护进程前需先手动删除该文件。
1
|
rm -rf /tmp/pt-heartbeat-sentinel |
1
|
pt-heartbeat --help
|
使用格式如下:
pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop
客户端执行如下命令(--user和--password,指的是MySQL的用户和密码,--host指的是从库的IP地址,master-server-id是主库的server-id,根据实际进行配置),监测从库的延迟。
1
|
pt-heartbeat -D pt --table=heartbeat --monitor --host=192.168.220.72 --user=root --password=123456 --master-server-id=1 |
上面截图中4列数据分别代表了实时延迟、1分钟延迟、5分钟延迟和15分钟延迟。
1
|
pt-heartbeat -D pt --table=heartbeat --check --host=192.168.220.72 --user=root --password=123456 --master-server-id=1 |
1
|
pt-heartbeat -D pt --table=heartbeat --monitor --host=192.168.220.72 --user=root --password=123456 --master-server-id=1 |