修改配置文件/etc/my.cnf
- slow_query_log=ON
- slow_query_log_file=/usr/local/mysql/data/slow.log
- long_query_time=5
说明:long_query_time这个时间大家可以设置为1,不放过任何超过1秒的查询。
show VARIABLES like '%slow_query_log%';
show VARIABLES like '%long_query_time%';


wget percona.com/get/pt-query-digest
mv pt-query-digest /usr/bin/
chmod +x /usr/bin/pt-query-digest
安装与Perl相关的模块
yum -y install 'perl(Data::Dumper)'
yum -y install perl-Digest-MD5
yum -y install perl-DBI
yum -y install perl-DBD-MySQL
#全部
pt-query-digest slow.log > pt_slow_sql_report.log
#近30天的
pt-query-digest --since=30d mysql.log > pt_slow_sql_report.rtf
以下是分析结果截取示例,分析结果文档会给出每个慢sql的详细信息。
-
- # 570.6s user time, 47s system time, 88.15M rss, 252.14M vsz
- # Current date: Wed Jun 29 17:33:45 2022
- # Hostname: izzm08qanynb5doqrznbeyz
- # Files: mysql.log
- # Overall: 722.25k total, 212 unique, 0.28 QPS, 2.88x concurrency ________
- # Time range: 2022-05-30T17:25:05 to 2022-06-29T09:20:58
- # Attribute total min max avg 95% stddev median
- # ============ ======= ======= ======= ======= ======= ======= =======
- # Exec time 7376702s 5s 122s 10s 24s 7s 7s
- # Lock time 3079s 0 56s 4ms 204us 437ms 84us
- # Rows sent 15.08M 0 32.56k 21.89 0.99 517.96 0.99
- # Rows examine 3.11T 0 32.05M 4.52M 6.94M 2.51M 5.99M
- # Query size 542.74M 27 5.86k 787.96 2.27k 907.02 299.03