开启慢查询日志可定位执行时间长的SQL语句以优化性能,可通过启动命令或配置文件设置;2. 启动命令示例:mysqld --slow-query-log=1 --slow-query-log-file=/var/log/mysql-slow.log --long-query-time=2;3. 配置文件中在[mysqld]段添加slow_query_log、slow_query_log_file、long_query_time和log_queries_not_using_indexes参数并重启MySQL服务;4. 登录MySQL执行SHOW VARIABLES验证配置生效,确保日志目录有写入权限,系统将自动记录超时SQL到指定文件。

MySQL开启慢查询日志,能帮助定位执行时间较长的SQL语句,优化数据库性能。可以通过启动命令或配置文件两种方式设置。
通过MySQL启动命令开启慢查询
在启动mysqld时,直接通过命令行参数启用慢查询日志:
- --slow-query-log=1:开启慢查询日志功能
- --slow-query-log-file=/path/to/slow.log:指定日志文件路径
- --long-query-time=2:设定慢查询阈值(单位:秒)
示例启动命令:
mysqld --slow-query-log=1 --slow-query-log-file=/var/log/mysql-slow.log --long-query-time=2
通过配置文件永久开启(推荐)
修改MySQL配置文件(通常为my.cnf或my.ini),在[mysqld]段添加以下内容:
- slow_query_log = 1
- slow_query_log_file = /var/log/mysql/mysql-slow.log
- long_query_time = 2
- log_queries_not_using_indexes = 1(可选:记录未使用索引的查询)
保存后重启MySQL服务生效:
systemctl restart mysql
验证慢查询是否开启
登录MySQL执行:
SHOW VARIABLES LIKE 'slow_query%';
SHOW VARIABLES LIKE 'long_query_time';
查看输出确认配置已加载。
基本上就这些,配置完成后,系统会自动记录超过阈值的SQL语句到指定日志文件,便于后续分析优化。注意确保MySQL进程对日志目录有写入权限。










