MySQL 默认是没有开启慢查询日志的,能够经过命令行或者修改 my.cnf
来开启。开启后对性能有必定的影响,生产环境不建议开启。个人版本是 5.7.25
,下面分别介绍两种开启方式。html
show variables like 'slow_query_log%';
第一行能够看到配置为 OFF
,没有开启;第二行是慢查询日志的保存路径,默认值就不修改了。mysql
show variables like 'long_query_time%';
默认是 10
秒,注意是大于配置时间会被记录。sql
3
秒 set global long_query_time=3;
set global slow_query_log=1;
select sleep(5);
能够看到日志中已经有了记录。shell
重启服务,而且删除日志,以便下面的测试。性能
my.cnf
,在 [mysqld]
添加下面配置slow_query_log=1 slow_query_log_file=/var/lib/mysql/slow-log.log long_query_time=3
select sleep(5);
两种方式都配置成功。须要注意的是使用命令行开启,重启服务后慢查询就会失效;修改配置文件的方式,会一直生效。测试
参考资料:MySQL 慢查询、MySQL查询优化(3)-慢查询开启、日志分析。优化