title: percona-toolkit 安装与使用 tags:
- percona-toolkit 安装与使
- perl categories: mysql date: 2017-11-09 16:42:07
背景
percona-toolkit是mysql DBA 最常用的组件,包含了非常多的工具包
pt-upgrade
#该命令主要用于对比不同mysql版本下SQL执行的差异,通常用于升级前进行对比。 #会生成SQL文件或单独的SQL语句在每个服务器上执行的结果、错误和警告信息等。 pt-online-schema-change #功能为支持在线变更表构,且不锁定原表,不阻塞原表的DML操作。 #该特性与Oracle的dbms_redefinition在线重定义表原理基本类似。 pt-mysql-summary #对连接的mysql服务器生成一份详细的配置情况以及sataus信息 #在尾部也提供当前实例的的配置文件的信息 pt-mext #并行查看SHOW GLOBAL STATUS的多个样本的信息。 #pt-mext会执行你指定的COMMAND,并每次读取一行结果,把空行分割的内容保存到一个一个的临时文件中,最后结合这些临时文件并行查看结果。 pt-kill #Kill掉符合指定条件mysql语句 pt-ioprofile #pt-ioprofile的原理是对某个pid附加一个strace进程进行IO分析 pt-fingerprint #用于生成查询指纹。主要将将sql查询生成queryID,pt-query-digest中的ID即是通过此工具来完成的。 #类似于Oracle中的SQL_ID,涉及绑定变量,字面量等 pt-find #用与查找mysql表并执行指定的命令,类似于find命令 pt-fifo-split #模拟切割文件并通过管道传递给先入先出队列而不用真正的切割文件 pt-deadlock-logger #用于监控mysql服务器上死锁并输出到日志文件,日志包含发生死锁的时间、死锁线程id、死锁的事务id、发生死锁时事务执行时间等详细信息。 pt-archiver #将mysql数据库中表的记录归档到另外一个表或者文件 #该工具具只是归档旧的数据,对线上数据的OLTP查询几乎没有影响。 #可以将数据插入另外一台服务器的其他表中,也可以写入到一个文件中,方便使用load data infile命令导入数据。 pt-agent #基于Percona Cloud的一个客户端代理工具 pt-visual-explain #用于格式化explain的输出 pt-variable-advisor #用于分析mysql系统变量可能存在的一些问题,可以据此评估有关参数的设置正确与否。 pt-stalk #用于收集mysql数据库故障时的相关信息便于后续诊断处理。 pt-slave-delay #用于设定从服务器落后于主服务器的时间间隔。 #该命令行通过启动和停止复制sql线程来设置从落后于主指定时间。
上述的许多指令比如主从check不一致 死锁检测 索引重复检测等 慢sql统计等等都是十分实用的功能
安装方式
- 下载对应软件包
wget https://www.percona.com/downloads/percona-toolkit/3.0.2/binary/tarball/percona-toolkit-3.0.2_x86_64.tar.gz复制代码
- 安装perl
yum -y install perl-devel perl-Digest-MD5 perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL.noarch perl-Time-HiRes复制代码
- 编译安装
-
tar -zxvf percona-toolkit-3.0.2_x86_64.tar.gz cd percona-toolkit-3.0.2 make make install复制代码
安装完成 - 命令可以使用