答案:通过检查并配置慢查询日志参数可有效排查MySQL性能问题。首先查看slow_query_log、long_query_time和slow_query_log_file状态,临时开启需设置全局变量,永久开启则在my.cnf中添加相应配置,同时创建日志目录并赋权,重启服务后验证配置生效,结合log_queries_not_using_indexes全面捕获问题SQL。

MySQL慢查询日志是排查性能问题的重要工具,能记录执行时间超过指定阈值的SQL语句。开启并正确配置慢查询日志,有助于分析和优化数据库性能。
1. 检查是否已开启慢查询日志
登录MySQL后,执行以下命令查看当前慢查询日志状态:
SHOW VARIABLES LIKE ‘slow_query_log’;
SHOW VARIABLES LIKE ‘long_query_time’;
SHOW VARIABLES LIKE ‘slow_query_log_file’;
返回结果中:
slow_query_log:ON表示已开启,OFF表示未开启 long_query_time:定义“慢查询”的时间阈值(单位:秒),默认为10秒 slow_query_log_file:慢查询日志文件的存储路径
2. 临时开启慢查询日志(重启后失效)
如果只是临时调试,可以在MySQL运行时动态开启:
SET GLOBAL slow_query_log = ‘ON’;
SET GLOBAL long_query_time = 2;
SET GLOBAL log_output = ‘FILE’;
SET GLOBAL slow_query_log_file = ‘/var/log/mysql/slow.log’;
注意:long_query_time 修改后需重新连接才能看到新值,但实际判断使用的是全局变量。
3. 永久开启慢查询日志(修改配置文件)
编辑MySQL配置文件 my.cnf 或 my.ini(Linux通常在 /etc/my.cnf 或 /etc/mysql/my.cnf):
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
log_queries_not_using_indexes = ON
参数说明:
Qoder
阿里巴巴推出的AI编程工具
270 查看详情
slow_query_log:启用慢查询日志 slow_query_log_file:指定日志文件路径,确保目录存在且MySQL有写入权限 long_query_time:设置慢查询阈值,如2秒 log_queries_not_using_indexes:记录未使用索引的查询,即使执行很快也记录,便于发现潜在问题
4. 创建日志目录并赋予权限(Linux系统)
确保日志文件所在目录可写:
sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/slow.log
sudo chown mysql:mysql /var/log/mysql/slow.log
配置完成后重启MySQL服务:
sudo systemctl restart mysql
5. 验证配置是否生效
重新登录MySQL,执行:
SHOW VARIABLES LIKE ‘slow_query_log’;
SHOW VARIABLES LIKE ‘slow_query_log_file’;
确认状态为ON,且文件路径正确。
可以手动执行一条耗时较长的SQL测试(如 SELECT SLEEP(3);),然后查看日志文件内容:
tail -f /var/log/mysql/slow.log
基本上就这些。合理设置 long_query_time 和启用 log_queries_not_using_indexes 能更全面地捕获潜在性能问题。记得定期清理或轮转慢查询日志,避免占用过多磁盘空间。
以上就是mysql慢查询日志如何开启_mysql慢查询日志配置方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1004320.html
微信扫一扫
支付宝扫一扫