如何在mysql中启用慢查询日志_mysql慢查询日志开启方法

来源:这里教程网 时间:2026-02-28 20:26:26 作者:

在 MySQL 中开启慢查询日志可以帮助你识别执行效率低下的 SQL 语句,从而优化数据库性能。下面介绍如何正确启用和配置慢查询日志。

1. 检查是否已开启慢查询日志

登录到 MySQL 命令行后,运行以下命令查看当前慢查询日志状态:

SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'long_query_time';

如果 slow_query_log 的值为 OFF,说明尚未开启。而 long_query_time 表示执行时间超过多少秒的查询会被记录(默认通常是 10 秒)。

2. 动态开启慢查询日志(临时生效)

可以在不重启 MySQL 的情况下临时开启慢查询日志:

SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
SET GLOBAL slow_query_log_file = '/var/log/mysql/mysql-slow.log';

注意:这种方式在 MySQL 重启后会失效。建议同时在配置文件中设置以保证持久化。

3. 修改配置文件永久开启(推荐方式)

编辑 MySQL 配置文件,通常位于:

Linux: /etc/my.cnf/etc/mysql/my.cnf Windows: my.ini

在 [mysqld] 节点下添加或修改以下内容:

[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = ON

参数说明:

slow_query_log:启用慢查询日志 slow_query_log_file:指定日志文件路径,确保目录存在且 MySQL 有写入权限 long_query_time:设定慢查询阈值(单位:秒) log_queries_not_using_indexes:记录未使用索引的查询,便于优化

4. 重启 MySQL 并验证

保存配置文件后,重启 MySQL 服务使更改生效:

sudo systemctl restart mysql

再次登录 MySQL,运行:

SHOW VARIABLES LIKE 'slow_query_log';

确认返回值为 ON,表示已成功启用。

5. 查看慢查询日志内容

可以直接查看日志文件内容:

tail -f /var/log/mysql/mysql-slow.log

日志中会记录查询耗时、执行时间、是否使用索引等信息,可用于分析性能瓶颈。

基本上就这些。只要配置好参数并确保文件路径权限正确,慢查询日志就能正常记录,帮助你持续优化 SQL 性能。

相关推荐

热文推荐