Percona Toolkit 神器全攻略

文摘   科技   2024-05-19 23:23   福建  

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。


Percona Toolkit 神器全攻略

Percona Toolkit 神器全攻略系列共八篇分为

文章名文章名
Percona Toolkit 神器全攻略Percona Toolkit 神器全攻略(实用类)
Percona Toolkit 神器全攻略(配置类)Percona Toolkit 神器全攻略(监控类)
Percona Toolkit 神器全攻略(系统类)Percona Toolkit 神器全攻略(开发类)
Percona Toolkit 神器全攻略(复制类)Percona Toolkit 神器全攻略(性能类)

全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,依据此约定进行理解与操作

Percona Toolkit 简介

Percona Toolkit简称(PT工具),是一组高级命令行工具,用于管理MySQL/GreatSQL的工具。可以用它来执行各种难以手动执行的MySQL/GreatSQL和系统任务。其功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等,DBA熟悉掌握PT工具后将极大提高工作效率。

  • 介绍文档:https://docs.percona.com/percona-toolkit/index.html

本系列只介绍和探讨Percona Toolkit中针对MySQL/GreatSQL数据库的实用工具

Percona Toolkit 安装

本系列所使用环境如下

名称配置
操作系统Linux myarch 6.6.3-arch1-1 x86_64 GNU/Linux
GNU Libcldd (GNU libc) 2.38
数据库GreatSQL 8.0.32-25, Release 25, Revision 79f57097e3f

使用包管理器安装

  • 对于 Debian 或 Ubuntu:

    $ sudo apt-get install percona-toolkit
  • 对于 RHEL 或 CentOS:

    $ sudo yum install percona-toolkit

包管理器安装较为简单,这里就不做示范

使用TAR包安装

前往➥https://www.percona.com/downloads,选择合适的版本下载Percona Toolkit

选择合适自己的CPU架构和操作系统版本Percona Toolkit包

创建文件夹pt,将下载的安装包保存于此,并检查sha256sum码,确保完整性:

$ mkdir /usr/local/pt
$ sha256sum -c percona-toolkit-3.5.7_x86_64.tar.gz.sha256sum
percona-toolkit-3.5.7_x86_64.tar.gz: OK

解压文件,并添加到环境变量

$ tar -xvf percona-toolkit-3.5.7_x86_64.tar.gz
echo 'export PATH=/usr/local/pt/percona-toolkit-3.5.7/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile

随机选择一个工具查看版本号,确认安装成功

$ pt-online-schema-change --version
pt-online-schema-change 3.5.7

使用RPM包安装

以下示范环境为 Centos7 - X86_64架构 - ldd (GNU libc) 2.17

下载好3.5.7版本的Centos7 RPM包

$ ls
percona-toolkit-3.5.7-1.el7.x86_64.rpm

使用rpm命令安装Percona Toolkit,如果此时有报缺失依赖,用YUM安装即可

$ rpm -ivh --nodeps percona-toolkit-3.5.7-1.el7.x86_64.rpm

随机选择一个工具查看版本号,确认安装成功

$ pt-online-schema-change --version
pt-online-schema-change 3.5.7

Percona Toolkit 包含的工具

3.5.7版本Percona Toolkit工具拥有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`

实用类

工具命令工具用途
pt-align将其它工具输出内容与列对齐
pt-archiver将表中的行存档到另一个表或文件中
pt-find查找表并执行命令
pt-fingerprint将查询转成密文
pt-killKill掉符合条件的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查询进程IO并打印一个IO活动表
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-checkMongoDB 索引执行检查
pt-mongodb-query-digest通过聚合来自 MongoDB 查询分析器的查询来报告查询使用统计信息

接下来的章节中将对这七类的工具进行详细讲解 :)


Enjoy GreatSQL :)

<往 期 推 荐>
GreatSQL5.7数据库DROP表后无法重建
GreatSQL社区月报 | 2024.04
GreatSQL的sp中添加新的sp_instr引入的bug解析
Slave SQL线程与PXB FTWRL死锁问题分析
GreatSQL统计信息相关知识点

《用三分钟学会一个MySQL知识》

<关于 GreatSQL>

GreatSQL数据库是一款开源免费数据库,可在普通硬件上满足金融级应用场景,具有高可用、高性能、高兼容、高安全等特性,可作为MySQL或Percona Server for MySQL的理想可选替换。

💻社区官网: https://greatsql.cn/ 
Gitee  https://gitee.com/GreatSQL/GreatSQL
GitHub  https://github.com/GreatSQL/

🆙BiliBili  : https://space.bilibili.com/1363850082

(对文章有疑问或见解可去社区官网提出哦~)

加入微信交流群
加入QQ交流群

想看更多技术好文,点个"在看"吧!

GreatSQL社区
专注GreatSQL数据库及相关产品
 最新文章