
MySQL slow_query_log慢查询日志配置详解
修改
发布日期:2025-04-15 14:50:35
浏览次数:6
分类:精选文章
本文共 1105 字,大约阅读时间需要 3 分钟。
slow query log 配置指南
slow query log 是用来记录执行时间过长的 SQL 语句的重要工具。通过及时发现和处理这些长时间运行的查询,可以显著改善数据库性能。以下是关于 slow query log 的配置方法和相关变量的详细说明。
1. 命令行参数
在 MySQL 中,可以通过命令行参数来启用并配置 slow query log。
--log-slow-queries
这个参数用于指定 slow query log 的日志文件位置。如果文件路径为空,系统会自动生成一个缺省文件,文件名为host_name-slow.log
。
2. 系统变量
slow query log 的配置还依赖于一些系统变量。以下是常用的配置项:
这个变量控制 slow query log 的开关。当值为 1 时,slow query log 功能被启用。log_slow_queries
当这个变量设置为 1 时,slow query log 功能被启用。默认值通常为 1。slow_query_log
这个变量用于指定 slow query log 的日志文件位置。如果未指定路径,系统会生成slow_query_log_file
host_name-slow.log
这个缺省文件。
这个变量设置了阈值,用于判断哪些查询需要被记录。默认值为 10 秒。如果查询的执行时间超过这个值,就会被记录到 slow query log 中。long_query_time
这个变量控制是否记录没有使用索引的查询。如果需要,可以根据数据库需求启用或禁用。log_queries_not_using_indexes
3. 配置方法
在 MySQL 5.1 及以上版本中,slow query log 的配置主要通过修改 MySQL 配置文件完成。
修改 /etc/my.cnf
在配置文件中添加以下内容:
[mysqld]# 启用 slow query logslow_query_log = 1slow_query_log_file = '/var/log/mysql/slow.log'long_query_time = 10log_queries_not_using_indexes = 1
保存并应用配置文件后,重启 MySQL 服务:
sudo systemctl restart mysql
总结
通过以上配置,slow query log 会自动记录执行时间超过 long_query_time
的查询。这些日志可以帮助数据库管理员识别性能瓶颈,优化数据库查询计划,从而提升整体性能。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年05月22日 03时15分14秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MQTT 持久会话与 Clean Session 详解
2025-04-14
MQTT 通信协议详解与应用场景全解析
2025-04-14
MQTT介绍及与其他协议的比较
2025-04-14
MQTT共享订阅:实现高效的消息通信
2025-04-14
MQTT协议 - 安全问题
2025-04-14
MQTT协议知识梳理,看完你就懂了!
2025-04-14
MQTT协议简介和基本概念
2025-04-14
MQTT发消失给HA客户端执行失败Stopped because an error was encountered at not a valid value for dictionary value
2025-04-14
MQTT工作笔记0005---CONNECT控制报文2
2025-04-14
MQTT工作笔记0006---CONNECT控制报文3
2025-04-14
MQTT工作笔记0007---剩余长度
2025-04-14
MQTT工作笔记0008---服务质量
2025-04-14
MQTT工作笔记0009---订阅主题和订阅确认
2025-04-14
MQTT工作笔记0010---订阅主题和订阅确认2
2025-04-14
Mqtt搭建代理服务器进行通信-浅析
2025-04-14
MQTT(1):MQTT协议介绍
2025-04-14
MQTT(2):MQTT协议原理
2025-04-14
MQ选型 | 为什么是RocketMQ而不是Kafka?
2025-04-15
Mr Cao 的提问
2025-04-15