MySQL percona-toolkit工具详解
一.检查和安装与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
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、出现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-kill |
Kill掉符合条件的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.d
mv CentOS-Base.repo CentOS-Base.repo.bk
ll
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
vi /etc/resolv.conf
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum makecache

MySQL percona-toolkit工具详解的更多相关文章
- MySQL 执行计划explain详解
MySQL 执行计划explain详解 2015-08-10 13:56:27 分类: MySQL explain命令是查看查询优化器如何决定执行查询的主要方法.这个功能有局限性,并不总会说出真相,但 ...
- Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(转)
通过前面的学习,你可能大致了解了Quartz,本篇博文为你打开学习SSMM+Quartz的旅程!欢迎上车,开始美好的旅程! 本篇是在SSM框架基础上进行的. 参考文章: 1.Quartz学习——Qua ...
- Percona Toolkit工具集介绍
部署mysql工具是一个非常重要的部分,所以工具的可靠性和很好的设计非常重要.percona toolkit是一个有30多个mysql工具的工具箱.兼容mysql,percona server,mar ...
- MySQL UUID函数的详解(转)
MySQL UUID函数的详解 MySQL中可以有二类用于生成唯一值性质的工具:UUID()函数和自增序列,那么二者有何区别呢?我们就此对比下各自的特性及异同点: l 都可以实现生成唯一值的功能: ...
- mysql数据恢复,binlog详解
个人博客:mysql数据恢复,binlog详解 binlog日志恢复数据,是挽救错误操作和数据损坏一根救命稻草,所以认识和使用binglog对于技术人员还是很有必要的 binlog一般用于 主从复制 ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- Chrome开发者工具详解(5)-Application、Security、Audits面板
Chrome开发者工具详解(5)-Application.Security.Audits面板 这篇文章是Chrome开发者工具详解这一系列的最后一篇,介绍DevTools最后的三个面板功能-Appli ...
- PHP mysql与mysqli事务详解
官方对PHP连接到MySQL数据库服务器的三种主要的API简介如下: http://php.net/manual/zh/mysqli.overview.php PHP mysql与mysqli事务详解 ...
- Chrome开发者工具详解(4)-Profiles面板
Chrome开发者工具详解(4)-Profiles面板 如果上篇中的Timeline面板所提供的信息不能满足你的要求,你可以使用Profiles面板,利用这个面板你可以追踪网页程序的内存泄漏问题,进一 ...
- Chrome开发者工具详解(3)-Timeline面板
Chrome开发者工具详解(3)-Timeline面板 注: 这一篇主要讲解面板Timeline,参考了Google的相关文档,主要用于公司内部技术分享.. Timeline面板 Timeline面板 ...
随机推荐
- WUSTOJ 1277: 小吉吉读书(Java)
1277: 小吉吉读书 题目 有一本 n 页的书,每天都看 ai 页,已知星期 k 买的书,问星期几能看完?更多内容点击标题. 分析 统计出一个星期能看 a 页,看了 a 页又会回到买书的那一 ...
- java——多态例题
class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { re ...
- (一)SpringBoot之简介和安装插件以及HelloWorld第一个程序
一.简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...
- leetcode --165--php
class Solution { /** * @param String $version1 * @param String $version2 * @return Integer */ functi ...
- sql 触发器里,发生错误,回滚提示错误语句
SET @msg='错误消息'; RAISERROR(@msg, 16, 1); ROLLBACK TRANSACTION; ...
- 使用shared memory 计算矩阵乘法 (其实并没有加速多少)
#include "cuda_runtime.h" #include "device_launch_parameters.h" #include "d ...
- node - path路径
1.node命令路径与js文件路径 node命令路径为node命令所执行的目录,js文件路径指的是你要运行的js所在的目录. 如上图所示: server.js路径为E:\zyp: node命令路径我们 ...
- jQuery事件绑定和委托实例
本文实例讲述了jQuery事件绑定和委托.分享给大家供大家参考.具体方法如下: jQuery事件的绑定和委托可以用多种方法实现,on() . bind() . live() . delegate ...
- flask的配置项及获取
1 修改/新增配置项的3种方法 # 配置参数的使用方式 # 1. 使用配置文件 # app.config.from_pyfile("config.cfg") # 2. 使用对象配置 ...
- vscode-golang跳转定义无效问题
问题发现: 本来可以进行"ctrl"+点击或者F12,进行跳转定义的方式,突然失效了 问题分析: 1.辅助工具是否关闭 解决方案,进入首选项,设置,查找go.docsTool,选项 ...