目录
- 简介
-
- 使用示例
- Mysql 慢查询分析诊断
-
- 使用包管理器安装
- 包管理器安装 percona-release
- 使用相应的包管理器安装 Percona Toolkit
- pt-query-digest 安装
- 安装
- pt-query-digest案例实战之慢查询分析诊断
- 查看慢SQL日志
- 使用pt-query-digest本地查看
简介
- Percona Toolkit是Percona公司出品的,是一个功能强大、稳定、易用的MySQL工具集
- 用于管理MySQL数据库,可以提供很多实用工具,简化MySQL的管理,提高MySQL的性能,并能够解决很多常见的MySQL问题
- Percona Toolkit的开源特性和丰富的社区资源,为用户提供了很多灵活的解决方案,非常适合用于高性能、高可用的MySQL环境
- 官网:https://docs.percona.com/percona-toolkit/index.html
使用场景
- 慢查询分析
- Percona Toolkit中的pt-query-digest工具可以分析MySQL的慢查询日志,找出慢查询语句,通过分析排除MySQL性能瓶颈和优化查询
- 复制监控
- Percona Toolkit的pt-table-checksum和pt-table-sync工具可用于验证MySQL主从复制是否一致,检测数据同步的延迟或故障,并保持主从数据的一致性。
- 表和索引优化
- Percona Toolkit的pt-online-schema-change工具通过在线方式修改MySQL表结构,避免了长时间锁表带来的影响,从而避免对业务造成影响。
- 数据备份
- Percona Toolkit的xtrabackup工具可以实现MySQL的在线备份,无需停止数据库,保障业务连续性。
- 状态监控
- Percona Toolkit的pt-mysql-summary和pt-summary等工具用于定期生成汇总MySQL服务器统计信息的报告,包括MySQL运行时间、活跃线程状态、连接统计信息等,方便管理员快速掌握数据库的情况。
使用示例
Mysql 慢查询分析诊断
临时开启慢SQL
show variables like 'slow%'

slow_query_log
属性是OFF
,处于关闭状态,也可以通过 0和1进行配置,1表示开启,0表示关闭
set global slow_query_log = on
slow_query_log_file
表示慢查询日志文件的存放路径
set global slow_query_log_file = '自定义路径'
- 如何定义慢sql语句 show variables like ‘%long%’
- long_query_time属性,值为10.000000,表示的只记录查询时间在10s以上的语句
- 数据不多的情况,慢查询的临界值设置为0.02:set long_query_time=0.02
持久化开启慢SQL日志
- 配置持久化
vim /etc/mysql/my.cnf
[mysqld]
slow_query_log = 1
long_query_time = 0.1
slow_query_log_file =/usr/local/mysql/mysql_slow.log
- 重启mysql生效
- 利用上面的命令进行验证 参数是否生效
- 模拟慢查询,睡眠10秒, select sleep(10);
- 进入容器查看日志 cat /usr/local/mysql/mysql_slow.log
使用包管理器安装
包管理器安装 percona-release
- Red Hat Enterprise Linux 或兼容衍生产品
sudo yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
sudo apt update
sudo apt install curl
curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
sudo apt install gnupg2 lsb-release ./percona-release_latest.generic_all.deb
sudo apt update
使用相应的包管理器安装 Percona Toolkit
sudo apt-get install percona-toolkit
sudo yum install percona-toolkit
pt-query-digest --version
pt-query-digest 安装
yum install -y perl-DBI
yum install -y perl-DBD-MySQL
yum install -y perl-Time-HiRes
yum install -y perl-IO-Socket-SSL
yum install -y perl-TermReadKey
wget https://downloads.percona.com/downloads/percona-toolkit/3.1.0/binary/redhat/7/x86_64/percona-toolkit-3.1.0-2.el7.x86_64.rpm
https://file.laoweiio.cn/develop/perconaToolkit/percona-toolkit-3.1.0-2.el7.x86_64.rpm
https://file.laoweiio.cn/develop/perconaToolkit/percona-toolkit-3.5.7-1.el7.x86_64.rpm
安装
yum install -y percona-toolkit-3.1.0-2.el7.x86_64.rpm
- 验证成功安装命令
pt-query-digest --help
- pt工具各个命令的基本功能介绍,使用
command --help
来查看每个命令的具体作用和使用方法
pt-query-digest案例实战之慢查询分析诊断
查看慢SQL日志

使用pt-query-digest本地查看
pt-query-digest /local/path//mysql_slow.log > slow_report.log
- 结果解读
- 第一部分:总体统计结果
- 第二部分:查询分组统计结果
- 第三部分:每一种查询的详细统计结果