Version 3.0.2
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复制延迟。
参考文献
- Percona Toolkit Homepage
- Manual Download
- Online Percona Toolkit Documentation
- Other software: http://www.percona.com/software/