工具运行
- 建库和表。
登录主库执行,创建用于保存检查信息的库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
- pt-heartbeat使用方法以及参数说明。
1
pt-heartbeat --help
使用格式如下:
pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop
- 客户端执行如下命令,停止主库的守护进程。
- 监测从库的延迟。
客户端执行如下命令(--user和--password,指的是MySQL的用户和密码,--host指的是从库的IP地址,master-server-id是主库的server-id,根据实际进行配置),监测从库的延迟。
- 方式1(推荐):持续监测不退出,通过Ctrl+C退出。
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分钟延迟。
- 方式2:监测一次后退出。
1
pt-heartbeat -D pt --table=heartbeat --check --host=192.168.220.72 --user=root --password=123456 --master-server-id=1
- 方式1(推荐):持续监测不退出,通过Ctrl+C退出。
- 向主库导入数据,然后监测从库的延迟。
- 在客户端上向主库批量导入数据,例如通过BenchmarkSQL工具向主库批量导入tpcc数据。请参见《BenchMarkSQL 测试指导》。
- 在客户端上执行如下命令(--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
父主题: 监测主从延迟