一、下载percona-toolkit工具包
percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等。
[root@push-5-221 src]# cd /usr/local/src/[root@push-5-221 src]# wget https://www.percona.com/downloads/percona-toolkit/3.0.12/binary/redhat/7/x86_64/percona-toolkit-3.0.12-1.el7.x86_64.rpm
二、安装rpm包
root@push-5-221 src]# rpm -ivh percona-toolkit-3.0.12-1.el7.x86_64.rpm
警告:percona-toolkit-3.0.12-1.el7.x86_64.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY
错误:依赖检测失败:perl(DBI) >= 1.13 被 percona-toolkit-3.0.12-1.el7.x86_64 需要perl(DBD::mysql) >= 1.0 被 percona-toolkit-3.0.12-1.el7.x86_64 需要perl(IO::Socket::SSL) 被 percona-toolkit-3.0.12-1.el7.x86_64 需要perl(Digest::MD5) 被 percona-toolkit-3.0.12-1.el7.x86_64 需要perl(Term::ReadK
显示需要一些依赖包,安装相应依赖包
[root@push-5-221 src]# yum install -y perl-DBI perl-DBD-MySQL perl-Digest-MD5 perl-IO-Socket-SSL perl-TermReadKey
再次安装
[root@push-5-221 src]# rpm -ivh percona-toolkit-3.0.12-1.el7.x86_64.rpm
警告:percona-toolkit-3.0.12-1.el7.x86_64.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY
准备中... ################################# [100%]
正在升级/安装...1:percona-toolkit-3.0.12-1.el7 ################################# [100%]
[root@push-5-221 src]#
安装成功,验证
[root@push-5-221 src]# pt-online-schema-change --version
pt-online-schema-change 3.0.12
三、工具命令的使用
1、pt-heartbeat
#用于监控mysql复制架构的延迟。
#主要是通过在主库上的--update线程持续更新指定表上的一个时间戳,从库上--monitor线程或者--check线程检查主库更新的时间戳并与当前系统时间对比,得到延迟值。
2、pt-query-digest
#用于分析mysql服务器的慢查询日志,并格式化输出以便于查看和分析。
3、pt-diskstats
#类似于iostat,打印磁盘io统计信息,但是这个工具是交互式并且比iostat更详细。可以分析从远程机器收集的数据。
4、pt-slave-find
#连接mysql主服务器并查找其所有的从,然后打印出所有从服务器的层级关系。
[root@push-5-221 src]# pt-slave-find --host=127.0.0.1 --user=root --password=xxxxxxx127.0.0.1Version5.7.26-log
Server ID2213306Uptime21+19:54:53 (started 2019-06-12T13:16:24)
Replication Is not a slave, has1slaves connected, is not read_only
Filters
Binary logging ROW
Slave status
Slave mode STRICT
Auto-increment increment 1, offset 1InnoDB version5.7.26
+- 172.28.5.222Version5.7.26-log
Server ID2223306Uptime21+19:07:10 (started 2019-06-12T14:04:07)
Replication Is not a slave, has1slaves connected, is not read_only
Filters
Binary logging ROW
Slave status
Slave mode STRICT
Auto-increment increment 1, offset 1InnoDB version5.7.26
+- 172.28.5.223Version5.7.26-log
Server ID2233306Uptime21+19:02:48 (started 2019-06-12T14:08:29)
Replication Is not a slave, has1slaves connected, is not read_only
Filters
Binary logging ROW
Slave status
Slave mode STRICT
Auto-increment increment 1, offset 1InnoDB version5.7.26[root@push-5-221 src]#
5、pt-stalk
#用于收集mysql数据库故障时的相关信息便于后续诊断处理。
6、pt-kill
#Kill掉符合指定条件mysql语句
7、pt-upgrade
#该命令主要用于对比不同mysql版本下SQL执行的差异,通常用于升级前进行对比。
#会生成SQL文件或单独的SQL语句在每个服务器上执行的结果、错误和警告信息等。
8、pt-online-schema-change
#功能为支持在线变更表构,且不锁定原表,不阻塞原表的DML操作。
#该特性与Oracle的dbms_redefinition在线重定义表原理基本类似。
9、pt-mysql-summary
#对连接的mysql服务器生成一份详细的配置情况以及sataus信息
#在尾部也提供当前实例的的配置文件的信息
四、pt-heartbeat 监控主从同步原理
1、主