Skip to content

启用或者关闭MySQL慢日志

重启MySQL服务启用慢日志

查看是否启用慢日志

bash
show variables like 'slow_query%';

启用慢日志,编辑my.cnf添加如下内容

ini
[mysqld]
slow_query_log=1
# 记录执行时间超过1秒的sql
long_query_time=1
slow_query_log_file=slow-query.log

查看是否已经启用慢日志

bash
mysql> show variables like 'slow_query%';
+---------------------+----------------+
| Variable_name       | Value          |
+---------------------+----------------+
| slow_query_log      | ON             |
| slow_query_log_file | slow-query.log |
+---------------------+----------------+
2 rows in set (0.01 sec)

不重启MySQL服务启用慢日志

在线设置变量

bash
# 显示慢日志相关变量
show global variables like 'slow_query_log';
show global variables like 'slow_query_log_file';
show global variables like 'long_query_time';

# 在线启用慢日志
set global long_query_time=1;
set global slow_query_log_file='slow-query.log';
set global slow_query_log=on;

打开新的mysql连接测试慢日志,注意:设置global slow_query_log=on后要打开新的mysql连接,否者旧的mysql连接不会被记录

bash
select sleep(3)