1、修改mysql配置开启慢sql查询
修改配置文件/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秒的查询。?
2、检查设置
show VARIABLES like '%slow_query_log%'; show VARIABLES like '%long_query_time%';
?
?
?3、安装安装pt_query_digest
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
4、分析慢sql日志文件
#全部
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
|