一、开启慢查询日志首先需要了解四个参数:
- slow_query_log # 是否开启慢查询日志,默认OFF,开启则设置为 ON。
- slow_query_log_file # 慢查询日志文件存储位置。
- log_queries_not_using_indexes # 是否把没有使用到索引的SQL记录到日志中,默认OFF,开启则设置为 ON。
- long_query_time # 超过多少秒的查询才会记录到日志中,注意单位是秒。
二:执行语句设置(这个方法重启MySQL后会失效)
知道参数含义后,我们就可以直接设置我们需要的参数了,我这里使用的是全局设置。
SET GLOBAL slow_query_log = "ON";
SET GLOBAL slow_query_log_file = "文件路径(绝对路径)";
SET GLOBAL log_queries_not_using_indexes = "ON";
SET GLOBAL long_query_time = 1; # 这里需要注意下,long_query_time参数设置后需要下次会话后才生效,当前会话查询还是原来的数值
三:修改配置文件(永久设置)
如果想重启MySQL后不失效,可以修改MySQL配置文件
在配置文件中添加以下语句:
slow_query_log="ON"
slow_query_log_file="文件路径(绝对路径)"
log_queries_not_using_indexes="ON"
long_query_time=1
重启后生效。