percona_toolkit
大约 2 分钟
安装 percona_toolkit
https://www.percona.com/software/database-tools/percona-toolkit
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
sudo yum install perl-IO-Socket-SSL perl-Digest-MD5
这将安装 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 --limit 20 --order-by Query_time:sum --output json slow.log > out_slow_queries.json
- 列出慢查询语句: 默认情况下,
pt-query-digest
会分析慢查询日志,并列出所有的慢查询语句,按照执行时间从长到短排序。 - 排名前 N 的慢查询: 使用
--limit N
参数,可以指定只列出排名前 N 的慢查询。例如,--limit 10
将列出排名前 10 的慢查询。 - 根据查询类型过滤: 使用
--filter
参数,可以根据查询类型进行过滤。例如,--filter '($event->{fingerprint} || "") =~ m/SELECT/'
可以只列出SELECT
查询类型的慢查询。 - 根据执行时间过滤: 使用
--filter
参数,可以根据执行时间进行过滤。例如,--filter '$event->{Query_time} > 1'
可以只列出执行时间大于 1 秒的慢查询。 - 聚合相同的查询语句: 使用
--group-by
参数,可以将相同的查询语句聚合在一起,并汇总它们的执行次数、执行时间等信息。例如,--group-by fingerprint
可以根据查询语句的指纹进行聚合。 - 按照不同维度进行排序: 使用
--order-by
参数,可以指定按照不同的维度进行排序。例如,--order-by Query_time:sum
可以按照执行时间的总和进行排序。