跳至主要內容

percona_toolkit

OrangBus大约 2 分钟

安装 percona_toolkit

https://www.percona.com/software/database-tools/percona-toolkit

image-20240319111619793
image-20240319111619793

1、切换到包所在的目录: 将终端的工作目录切换到你下载了 Percona Toolkit RPM 包的目录。

2、使用 rpm 命令安装: 执行以下命令安装 RPM 包:

sudo rpm -ivh percona-toolkit-3.5.7-1.el7.x86_64.rpm

# 可能缺少的依赖
sudo yum install perl-DBD-MySQL perl-DBI

这将安装 Percona Toolkit 到你的系统中。

3、验证安装: 安装完成后,你可以执行以下命令来验证是否成功安装了 pt-query-digest

pt-query-digest --version

如果安装成功,你将会看到 pt-query-digest 的版本信息。

​ 如果安装过程中出现依赖错误,你可能需要手动安装缺少的依赖项。你可以通过 rpm 命令来查看 RPM 包的依赖关系,然后使用包管理器来安装这些依赖项。

rpm -qpR percona-toolkit-*.rpm

查看rpm包安装位置

rpm -ql percona-toolkit

分析mysql慢日志

pt-query-digest mysql-slow.log --limit 10 > report.txt

pt-query-digest --output json slow.log > slow_queries.json
  1. 列出慢查询语句: 默认情况下,pt-query-digest 会分析慢查询日志,并列出所有的慢查询语句,按照执行时间从长到短排序。
  2. 排名前 N 的慢查询: 使用 --limit N 参数,可以指定只列出排名前 N 的慢查询。例如,--limit 10 将列出排名前 10 的慢查询。
  3. 根据查询类型过滤: 使用 --filter 参数,可以根据查询类型进行过滤。例如,--filter '($event->{fingerprint} || "") =~ m/SELECT/' 可以只列出 SELECT 查询类型的慢查询。
  4. 根据执行时间过滤: 使用 --filter 参数,可以根据执行时间进行过滤。例如,--filter '$event->{Query_time} > 1' 可以只列出执行时间大于 1 秒的慢查询。
  5. 聚合相同的查询语句: 使用 --group-by 参数,可以将相同的查询语句聚合在一起,并汇总它们的执行次数、执行时间等信息。例如,--group-by fingerprint 可以根据查询语句的指纹进行聚合。
  6. 按照不同维度进行排序: 使用 --order-by 参数,可以指定按照不同的维度进行排序。例如,--order-by Query_time:sum 可以按照执行时间的总和进行排序。