§ Percona Toolkit
Percona Toolkit简称(PT工具),是一组高级命令行工具,用于管理 MySQL/GreatSQL 的工具。可以用它来执行各种难以手动执行的 MySQL/GreatSQL 和系统任务。其功能包括检查主从复制的数据一致性、检查重复索引、定位 I/O 占用高的表文件、在线 DDL 等,DBA 熟悉掌握 PT工具 后将极大提高工作效率。
小贴士
$
为命令提示符、greatsql>
为GreatSQL数据库提示符。
§ 使用包管理器安装
对于 Debian 或 Ubuntu:
sudo apt-get install percona-toolkit
1对于 RHEL 或 CentOS:
sudo yum install percona-toolkit
1
§ 使用TAR包安装
选择合适的版本和规格下载 Percona Toolkit (opens new window) 。
小贴士
选择合适自己的CPU架构和操作系统版本Percona Toolkit包。
创建 pt 文件夹,并将下载的安装包保存于此。
mkdir /usr/local/pt
1
并检查 sha256sum 码,确保完整性。
sha256sum -c percona-toolkit-3.5.7_x86_64.tar.gz.sha256sum
1
查看运行结果
$ sha256sum -c percona-toolkit-3.5.7_x86_64.tar.gz.sha256sum
percona-toolkit-3.5.7_x86_64.tar.gz: OK
1
2
2
解压 percona-toolkit 文件。
tar -xvf percona-toolkit-3.5.7_x86_64.tar.gz
1
添加 percona-toolkit 到环境变量。
echo 'export PATH=/usr/local/pt/percona-toolkit-3.5.7/bin:$PATH' >> ~/.bash_profile
1
使环境变量生效。
source ~/.bash_profile
1
选择一个工具查看版本号,确认安装成功。
pt-online-schema-change --version
1
查看运行结果
$ pt-online-schema-change --version
pt-online-schema-change 3.5.7
1
2
2
§ 使用RPM包安装
以下示范环境为 Centos7 - X86_64架构 - ldd (GNU libc) 2.17。
下载好 Percona Toolkit 3.5.7 版本 CentOS 7.x RPM 包。
$ ls
percona-toolkit-3.5.7-1.el7.x86_64.rpm
1
2
2
使用 rpm 命令安装 Percona Toolkit,如果此时有报缺失依赖,用 YUM 安装即可。
rpm -ivh --nodeps percona-toolkit-3.5.7-1.el7.x86_64.rpm
1
选择一个工具查看版本号,确认安装成功。
pt-online-schema-change --version
1
查看运行结果
$ pt-online-schema-change --version
pt-online-schema-change 3.5.7
1
2
2
§ Percona Toolkit 包含的工具
Percona Toolkit 3.5.7 版本中拥有39个工具,将这 39 个工具分为七大类(实用类、配置类、监控类、系统类、开发类、复制类、性能类)
$ ls
pt-align pt-fingerprint pt-mext pt-query-digest pt-summary
pt-archiver pt-fk-error-logger pt-mongodb-index-check pt-secure-collect pt-table-checksum
pt-config-diff pt-galera-log-explainer pt-mongodb-query-digest pt-show-grants pt-table-sync
pt-deadlock-logger pt-heartbeat pt-mongodb-summary pt-sift pt-table-usage
pt-diskstats pt-index-usage pt-mysql-summary pt-slave-delay pt-upgrade
pt-duplicate-key-checker pt-ioprofile pt-online-schema-change pt-slave-find pt-variable-advisor
pt-fifo-split pt-k8s-debug-collector pt-pg-summary pt-slave-restart pt-visual-explain
pt-find pt-kill pt-pmp pt-stalk`
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
§ 实用类
工具命令 | 工具用途 |
---|---|
pt-align | 将其它工具输出内容与列对齐 |
pt-archiver | 将表中的行存档到另一个表或文件中 |
pt-find | 查找表并执行命令 |
pt-fingerprint | 将查询转成密文 |
pt-kill | Kill掉符合条件的SQL |
pt-k8s-debug-collector | 从 k8s/OpenShift 集群收集调试数据(日志、资源状态等) |
pt-secure-collect | 收集、清理、打包和加密数据 |
§ 配置类
工具命令 | 工具描述 |
---|---|
pt-config-diff | 比较数据库配置文件和参数 |
pt-mysql-summary | 对 MySQL/GreatSQL 配置和 STATUS 进行汇总 |
pt-variable-advisor | 分析参数,并提出建议 |
§ 监控类
工具命令 | 工具描述 |
---|---|
pt-deadlock-logger | 提取和记录 MySQL/GreatSQL 死锁 |
pt-fk-error-logger | 提取和记录外键信息 |
pt-mext | 并行查看 STATUS 样本信息 |
pt-query-digest | 分析查询日志,并产生报告 |
pt-mongodb-summary | 收集有关 MongoDB 集群的信息 |
pt-pg-summary | 收集有关 PostgreSQL 集群的信息 |
§ 系统类
工具命令 | 工具描述 |
---|---|
pt-diskstats | 查看系统磁盘状态 |
pt-fifo-split | 模拟切割文件并输出 |
pt-ioprofile | 查询进程 I/O 并打印一个 I/O 活动表 |
pt-sift | 浏览由 pt-stalk 创建的文件 |
pt-stalk | 出现问题时,收集诊断数据 |
pt-summary | 收集和显示系统概况 |
§ 开发类
工具命令 | 工具描述 |
---|---|
pt-duplicate-key-checker | 列出并删除重复的索引和外键 |
pt-online-schema-change | 在线修改表结构 |
pt-show-grants | 规范化和打印权限 |
pt-upgrade | 在多个服务器上执行查询,并比较不同 |
§ 复制类
工具命令 | 工具描述 |
---|---|
pt-heartbeat | 监控 MySQL/GreatSQL 复制延迟 |
pt-slave-delay | 设定从落后主的时间 |
pt-slave-find | 查找和打印所有 MySQL/GreatSQL 复制层级关系 |
pt-slave-restart | 监控 Salve 错误,并尝试重启Salve |
pt-table-checksum | 校验主从复制一致性 |
pt-table-sync | 高效同步表数据 |
pt-galera-log-explainer | 对多个 Galera 日志进行过滤、聚合和汇总 |
§ 性能类
工具命令 | 工具描述 |
---|---|
pt-index-usage | 分析日志中索引使用情况,并出报告 |
pt-pmp | 查询结果跟踪,并汇总跟踪结果 |
pt-table-usage | 分析日志中查询并分析表使用情况 |
pt-visual-explain | 格式化执行计划 |
pt-mongodb-index-check | MongoDB 索引执行检查 |
pt-mongodb-query-digest | 通过聚合来自 MongoDB 查询分析器的查询来报告查询使用统计信息 |
扫码关注微信公众号