MySQL 开启慢查询日志

导语

MySQL 默认是没有开启慢查询日志的,能够经过命令行或者修改 my.cnf 来开启。开启后对性能有必定的影响,生产环境不建议开启。个人版本是 5.7.25,下面分别介绍两种开启方式。html

命令行

  1. 首先是进入到 MySQL 的服务中
  2. 查看下关于慢查询的配置 show variables like 'slow_query_log%';

慢查询配置
第一行能够看到配置为 OFF,没有开启;第二行是慢查询日志的保存路径,默认值就不修改了。mysql

  1. 查看下默认的超时时间配置 show variables like 'long_query_time%';

超时时间
默认是 10 秒,注意是大于配置时间会被记录。sql

  1. 先将超时时间修改成 3set global long_query_time=3;
  2. 而后开启配置 set global slow_query_log=1;
  3. 退出 MySQL 并从新进入
  4. 测试一下 select sleep(5);
  5. 去看下慢查询的日志

查看日志

能够看到日志中已经有了记录。shell

修改配置

重启服务,而且删除日志,以便下面的测试。性能

  1. 修改 my.cnf,在 [mysqld] 添加下面配置
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow-log.log
long_query_time=3
  1. 重启服务
  2. 进入 MySQL 测试 select sleep(5);
  3. 查看日志

查看日志

结语

两种方式都配置成功。须要注意的是使用命令行开启,重启服务后慢查询就会失效;修改配置文件的方式,会一直生效测试


参考资料:MySQL 慢查询MySQL查询优化(3)-慢查询开启、日志分析优化

相关文章
相关标签/搜索