percona-toolkit源自Maatkit Aspersa工具,这两个工具是管理mysql的最有名的工具,现在Maatkit工具已经不维护了,请大家还是使用percona-toolkit吧!这些工具主要包括开发、性能、配置、监控、复制、系统、实用六大类,作为一个优秀的DBA,里面有的工具非常有用,如果能掌握并加以灵活应用,将能极大的提高工作效率。


percona-toolkit安装步骤与过程

    我的环境是CentOS 6.5系统+ MySQL 5.6.24,可以按照下面的步骤安装pt工具。

    1.检查和安装与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


 2.percona-toolkit工具的下载和安装

pt工具目前最新版本为 2.2.20 ,可以在官方下载最新版本:


wget percona.com/get/percona-toolkit.tar.gz

wget percona.com/get/percona-toolkit.rpm


 percona-toolkitrpm安装方式


rpm -ivh perl-TermReadKey-2.30-1.el5.rf.x86_64.rpm

wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm
rpm -ivh perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm

这个网站似乎需要×××。。。


rpm -ivh percona-toolkit-2.1.1-1.noarch.rpm

注意:需要安装Term::ReadKey 包,否则会报perl(Term::ReadKey) >= 2.10 is needed by percona-toolkit-2.1.1-1.noarch错误


 percona-toolkit的编译安装方式

tar xzvf percona-toolkit-2.2.20.tar.gz

cd percona-toolkit-2.2.20

perl Makefile.PL

make

make test

make install


安装完成


测试统计慢查询


pt-query-digest  slow-query.log --since '2016-12-25 00:00:00' --until '2017-01-01 02:00:00' > /tmp/OPMPslow1225.log


共计有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新增命令