MySQL开启慢查询日志需配置slow_query_log、long_query_time和slow_query_log_file三个参数,临时生效用SET GLOBAL动态设置,永久生效须写入my.cnf并重启服务。
MySQL开启慢查询日志,核心是配置三个关键参数:是否启用(
slow_query_log
)、超时阈值(
long_query_time
)、日志存放位置(
slow_query_log_file
)。临时生效可动态设置,但要永久生效必须写入
配置文件
并重启服务。
检查当前慢查询状态
登录 MySQL 后执行:
SHOW VARIABLES LIKE 'slow_query%';
SHOW VARIABLES LIKE 'long_query_time';
若
slow_query_log
值为
,说明未开启;默认
long_query_time
通常是 10 秒,对生产环境偏高,建议调低到 1 或 0.5 秒。
临时开启(会话/全局生效,重启失效)
在 MySQL 客户端中逐条执行:
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1;
(单位:秒,支持小数如 0.2)
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
(路径需 MySQL 进程有写权限)
执行后立即生效,无需重启。可通过
SHOW GLOBAL STATUS LIKE 'Slow_queries';
查看已记录的慢查询次数。
Trae win
Trae Windows 官方版本现已全面支持 Win10 和 Win11 系统(64位)。国内开发者可直接访问 Trae 中文官网(trae.cn 或 trae.com.cn),一键下载官方正版 .exe 安装包,享受国内直连的高速稳定体验。安装过程极其简便,双击即可运行,并支持一键无缝导入 VS Code 或 Cursor 的原有主题、快捷键及插件配置。登录支持手机号、微信或稀土掘金账号。内置免费的豆包与 DeepSeek 等顶级大模型,让你开箱即用,轻松开启高效的 AI 智能编程之旅。
下载
永久生效(推荐用于生产环境)
编辑 MySQL 配置文件(Linux 通常为
或
;Windows 为
),在
段落下添加:
[mysqld]slow_query_log = ONslow_query_log_file = /var/log/mysql/slow.loglong_query_time = 1log_output = FILE # 可选:设为 TABLE 则写入 mysql.slow_log 表
保存后重启 MySQL:
systemctl restart mysqld
(CentOS/RHEL)或
sudo service mysql restart
(Ubuntu/Debian)
额外建议:捕获无索引查询
很多性能问题源于没走索引,可一并开启记录:
动态开启:
SET GLOBAL log_queries_not_using_indexes = 'ON';
配置文件中加:
log_queries_not_using_indexes = 1
注意:即使字段有索引,若数据量极小,优化器可能仍选择全表扫描,这类也会被记录,需结合
判断是否真有问题。
OFF/etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnfmy.ini[mysqld]EXPLAIN