1. 开启慢日志记录
在MySQL配置文件中将slow_query_log设置为1即可开启慢日志记录。如下所示:
slow_query_log = 1
2. 设置慢日志阈值
在MySQL配置文件中可以设置慢日志阈值,即执行时间超过多少秒的SQL语句才被记录到慢日志中。如下所示:
ge = 1
这里将慢日志阈值设置为1秒。
3. 查询慢日志
可以使用以下命令查询慢日志:
ysql>SHOW VARIABLES LIKE ‘slow_query%’;
可以看到慢日志的存储位置,如下所示:
+———————+——————————-+ame | Value
+———————+——————————-+
slow_query_log | ON |ysqlysql-slow.log
+———————+——————————-+
可以通过tail命令查看慢日志内容,如下所示:
ysqlysql-slow.log
4. 分析慢日志
分析慢日志可以找出哪些SQL语句执行时间较长,可以使用pt-query-digest工具来分析慢日志。安装pt-query-digest工具可以使用以下命令:
stalla-toolkit
使用pt-query-digest工具可以分析慢日志,如下所示:
ysqlysql-slow.log
分析结果可以看到哪些SQL语句执行时间较长,以及执行次数、平均执行时间等指标。可以根据分析结果来优化数据库性能。
通过MySQL慢日志查询可以找出哪些SQL语句执行时间较长,需要开启慢日志记录、设置慢日志阈值、查询慢日志、分析慢日志等步骤。使用pt-query-digest工具可以方便地分析慢日志。