「percona-toolkit」

  LINUX MANUAL PAGES

Percona Toolkit集合了一系列的命令,这些命令用于MySQL和系统任务,主要用于处理“手动执行难度大”的各种MySQL和系统任务相关问题。

这里面的一些工具都是专业的开发、经过正式测试的、文档完整的工具。

Percona Toolkit衍生自Maatkit和Aspersa。

提供了如下功能

  • 验证主副本数据的一致性。
  • 有效地存档行。
  • 查找重复的索引。
  • 总结MySQL服务器。
  • 从日志和tcpdump分析查询。
  • 在发生问题时收集重要的系统信息。

安装

可以查看官方的安装教程。下载的话可以去官网下载Percona Toolkit

源码目录中的INSTALL文件也包含了安装方法,以下内容摘自INSTALL文件,更多内容参阅源码目录下的INSTALL文件:

系统环境要求及相关依赖
Most tools require:

* Perl v5.8 or newer
* Bash v3 or newer
* Core Perl modules like Time::HiRes

Tools that connect to MySQL require:

* Perl modules DBI and DBD::mysql
* MySQL 5.0 or newer

构建及安装

#!/bin/sh

tar zxvf percona‐toolkit‐<version>.tar.gz
cd percona‐toolkit‐<version>

# perl Makefile.PL PREFIX=${HOME},PREFIX指定安装路径,默认为/usr/local
perl Makefile.PL
make

# 测试
make test

make install

安装的程序列表及介绍

这些工具都是由Perl语言写的。如果要查看手册,除了在线手册和man之外,还有使用perldoc。比如,要查看pt-table-sync的帮助手册:

#!/bin/sh

perldoc pt-table-sync

# 如果你的发行版里没有安装perl-doc软件包,需要安装一下。

以下是命令列表及命令的作用:

pt-pmp
为指定程序执行聚合GDB堆栈跟踪。

pt-online-schema-change
不锁表执行ALTER操作。

pt-align
将其他pt-*命令的输出对齐到列头。

pt-config-diff
比较MySQL配置文件和服务器变量。

pt-sift
浏览pt-stalk创建的文件。

pt-visual-explain
将EXPLAIN输出格式化为树形。

pt-mext
并列查看MySQL的“SHOW GLOBAL STATUS”的许多示例。

pt-query-digest
从查询日志、进程列表、tcpdump中分析MySQL的查询。

pt-table-sync
用于有效地同步MySQL中表数据

pt-mysql-summary
已友好的方式汇总MySQL的信息。

pt-ioprofile
监视进程IO并打印文件和I/O活动的表格。

pt-diskstats
交互式的I/O监控工具。

pt-archiver
将MySQL表中的行存档到另一个表或文件。

pt-deadlock-logger
记录MySQL中的死锁。

pt-stalk
在发生问题时,收集关于MySQL的取证数据。

pt-show-grants
规范和打印MySQL授权信息,以便可以有效地复制、比较、版本控制

pt-summary
以友好的方式,总述系统中的信息。

pt-fifo-split
将文件和管道分割成fifo,而不会真正分裂。

pt-table-usage
分析查询是如何使用表的。

pt-fk-error-logger
记录MySQL中的外键错误。

pt-fingerprint
将查询转换成指纹。

pt-kill
杀死符合特定条件的MySQL查询。

pt-find
查找MySQL表并执行动作,非常像find命令。

pt-variable-advisor
分析MySQL变量,并就可能出现的问题提供建议。

pt-table-checksum
验证MySQL复制完整性。

与「索引」有关的命令

pt-index-usage
读取查询日志,然后对日志中的SQL执行EXPLAIN,输出索引的使用情况。

pt-duplicate-key-checker
分析表结构,找到重复和冗余的索引以及外键。

pt-upgrade
验证不同服务器上的查询结果是否相同。用于检查计划中的索引变更。

与「主从复制」有关的命令

pt-slave-delay
使MySQL Slave落后于Master

pt-slave-find
查找并打印MySQL Slave的复制层次结构树。

pt-slave-restart
监控MySQL多台服务器的复制错误。MySQL发生错误之后,会尝试重新启动。

pt-heartbeat
监视MySQL复制延迟。

参考文献