转载:https://www.cnblogs.com/zishengY/p/6852280.html
一.检查和安装与Perl相关的模块
PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。
依赖包检查命令为:
rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
如果有依赖包确实,可以使用下面的命令安装:
yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL
二.下载和安装percona toolkit的包
1、下载和安装percona toolkit的包
参照:https://www.percona.com/doc/percona-toolkit/3.0/installation.html#installing-percona-toolkit-on-red-hat-or-centos
yuminstallhttp://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
2、查看可以安装的包
yumlist |greppercona-toolkit
3、安装percona-toolkit工具包
yuminstallpercona-toolkit
4、出现complete!即表示安装成功:
5、安装后,可以通过下面的命令确认是否安装成功:
# pt-query-digest --help
# pt-table-checksum --help
如果命令提示可以正常显示,则说明pt工具已经正常安装和使用了。
有的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-killKill掉符合条件的sql常用命令
pt-align对齐其他工具的输出pt 2.2新增命令
pt-fingerprint将查询转成密文pt 2.2新增命令
上面是pt工具各个命令的基本功能介绍,可以使用 command --help 来查看每个命令的具体作用和使用方法;
有的命令也可以使用 man command 命令查询相关命令详细信息。
目前使用的比较多的命令是: pt-query-digest ,pt-kill等命令。
加字段例子:
1/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
注意:若是安转过程中,遇到yum命令不可用,请替换镜像源,我这里是替换成163的镜像源:
命令如下:
cd /etc/yum.repos.dmvCentOS-Base.repo CentOS-Base.repo.bk
llwget http://mirrors.163.com/.help/CentOS6-Base-163.repovi/etc/resolv.confwgethttp://mirrors.163.com/.help/CentOS6-Base-163.repoyummakecache
每一个你不满意的当下,都有一个你不曾努力的过去