一、下载安装和安装percona toolkit 包
1、下载和安装percona toolkit的包
参照:https://www.percona.com/doc/percona-toolkit/3.0/installation.html#installing-percona-toolkit-on-red-hat-or-centos
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
2、查看可以安装的包
yum list | grep percona-toolkit
3、安装percona-toolkit工具包
yum install percona-toolkit
4、安装后,可以通过下面的命令确认是否安装成功:
# pt-query-digest --help
# pt-table-checksum --help
如果命令提示可以正常显示,则说明pt工具已经正常安装和使用了。
1.检查数据是否一致
pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=stud.checksums --create-replicate-table --databases=stud --tables=student --host='192.168.0.150' --user='checksum' --password='123456' --port='3306
2.修正数据不一致
pt-table-sync --replicate=stud.checksums --databases=stud h=master的ip,u=账号,p=123456 h=slave的ip,u='账号',p='密码';--execute
有的32个命令,可以分为7大类
工具类别 |
工具命令 |
工具作用 |
备注 |
开发类 |
pt-duplicate-key-checker |
列出并删除重复的索引和外键 |
|
pt-online-schema-change |
在线修改表结构 |
||
pt-query-advisor |
分析查询语句,并给出建议,有bug |
已废弃 |
|
pt-show-grants |
规范化和打印权限 |
||
pt-upgrade |
在多个服务器上执行查询,并比较不同 |
||
性能类 |
pt-index-usage |
分析日志中索引使用情况,并出报告 |
|
pt-pmp |
为查询结果跟踪,并汇总跟踪结果 |
||
pt-visual-explain |
格式化执行计划 |
||
pt-table-usage |
分析日志中查询并分析表使用情况 |
pt 2.2新增命令 |
|
配置类 |
pt-config-diff |
比较配置文件和参数 |
|
pt-mysql-summary |
对mysql配置和status进行汇总 |
||
pt-variable-advisor |
分析参数,并提出建议 |
||
监控类 |
pt-deadlock-logger |
提取和记录mysql死锁信息 |
|
pt-fk-error-logger |
提取和记录外键信息 |
||
pt-mext |
并行查看status样本信息 |
||
pt-query-digest |
分析查询日志,并产生报告 |
常用命令 |
|
pt-trend |
按照时间段读取slow日志信息 |
已废弃 |
|
复制类 |
pt-heartbeat |
监控mysql复制延迟 |
|
pt-slave-delay |
设定从落后主的时间 |
||
pt-slave-find |
查找和打印所有mysql复制层级关系 |
||
pt-slave-restart |
监控salve错误,并尝试重启salve |
||
pt-table-checksum |
校验主从复制一致性 |
||
pt-table-sync |
高效同步表数据 |
||
系统类 |
pt-diskstats |
查看系统磁盘状态 |
|
pt-fifo-split |
模拟切割文件并输出 |
||
pt-summary |
收集和显示系统概况 |
||
pt-stalk |
出现问题时,收集诊断数据 |
||
pt-sift |
浏览由pt-stalk创建的文件 |
pt 2.2新增命令 |
|
pt-ioprofile |
查询进程IO并打印一个IO活动表 |
pt 2.2新增命令 |
|
实用类 |
pt-archiver |
将表数据归档到另一个表或文件中 |
|
pt-find |
查找表并执行命令 |
||
pt-kill |
Kill掉符合条件的sql |
常用命令 | |
pt-align |
对齐其他工具的输出 |
pt 2.2新增命令 |
|
pt-fingerprint |
将查询转成密文 |
pt 2.2新增命令 |
上面是pt工具各个命令的基本功能介绍,可以使用 command --help 来查看每个命令的具体作用和使用方法;
有的命令也可以使用 man command 命令查询相关命令详细信息。
目前使用的比较多的命令是: pt-query-digest ,pt-kill等命令。
/usr/local/bin/pt-online-schema-change --user=用户名 --password=密码 --host=127.0.0.1 --port=端口号 --charset=utf8 --nodrop-old-table --alter="modify media_code varchar(64) DEFAULT NULL COMMENT '当前视频编码' " D=ad_api,t=t_ad_req_log --exec