Percona Toolkit 神器全攻略

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工具后将极大提高工作效率。

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

Percona Toolkit 安装

本系列所使用环境如下

名称 配置
操作系统 Linux myarch 6.6.3-arch1-1 x86_64 GNU/Linux
GNU Libc ldd (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-kill Kill掉符合条件的SQL
pt-k8s-debug-collector 从 k8s/OpenShift 集群收集调试数据(日志、资源状态等)
pt-secure-collect 收集、清理、打包和加密数据

配置类

工具命令 工具描述
pt-config-diff 比较数据库配置文件和参数
pt-mysql-summary 对GreatSQL/MySQL配置和STATUS进行汇总
pt-variable-advisor 分析参数,并提出建议

监控类

工具命令 工具描述
pt-deadlock-logger 提取和记录GreatSQL/MySQL死锁
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 监控GreatSQL/MySQL复制延迟
pt-slave-delay 设定从落后主的时间
pt-slave-find 查找和打印所有GreatSQL/MySQL复制层级关系
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 查询分析器的查询来报告查询使用统计信息

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


Enjoy GreatSQL 😃

关于 GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

技术交流群:

微信:扫码添加GreatSQL社区助手微信好友,发送验证信息加群

热门相关:五朵红云(舞剧)   家族荣耀之继承者国   性感雀牌女   性爱少女7   催眠舞会