首先,大家需要在MySQL的配置文件中设置慢查询日志的相关参数。配置文件一般是存放在/etc/my.cnf或者/etc/mysql/my.cnf中,如果你使用的是Windows系统,则在mysql的安装目录下可以找到偶的配置文件my.ini。
在配置文件中,大家需要增加以下几个参数:
[mysqld] # 慢查询日志开关 slow_query_log = ON # 慢查询日志路径 slow_query_log_file = /var/log/mysql/mysql-slow.log # 查询时间大于指定时间的语句被记录下来(这里设置的是1s) long_query_time = 1 # 日志分析使用什么格式,这里选择的是statement log_output = FILE
设置完以上参数后,大家需要重新启动MySQL服务,才能使配置文件生效:
service mysql restart
启动完成后,MySQL就会开启慢查询日志。默认情况下,日志路径在/var/log/mysql/mysql-slow.log,它会记录所有执行时间大于1秒的SQL语句。
在生产环境中,由于日志文件的增长速度相当快,因此需要进行定期的日志清理。可以使用如下命令将慢查询日志按时间进行分割,以便于后续的维护和分析:
mysqladmin -u root -p flush-logs
当然,对于有些场景,开启慢查询日志会对系统性能造成一定的影响。因此,在平时的开发和测试过程中,可以考虑关闭慢查询日志,以减轻MySQL的负载。