MySQL 开启慢 SQL 日志
1. 配置方法
修改 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
- 参数说明:
slow_query_log=1:启用慢查询日志。slow_query_log_file:日志文件路径。long_query_time:定义慢查询阈值(单位:秒),默认 10 秒,建议设置为 1-2 秒。log_queries_not_using_indexes:记录未使用索引的查询(可选)。
动态设置(无需重启):
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
2. 查看慢查询
SHOW VARIABLES LIKE 'slow_query%';
SHOW VARIABLES LIKE 'long_query_time';
性能影响
- 对性能影响较小,但高频写入日志可能导致磁盘 I/O 压力。
- 若
long_query_time设置过低或log_queries_not_using_indexes启用,日志量激增可能影响性能。
建议:
- 设置合理的阈值(如
long_query_time=2)。 - 日志文件使用 SSD 存储。
- 定期归档或清理历史日志。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果