开启MySQL慢查询日志需在配置文件中添加slow_query_log、slow_query_log_file、long_query_time和log_queries_not_using_indexes参数并重启服务,通过SHOW VARIABLES验证状态,使用mysqldumpslow或pt-query-digest分析日志,重点关注执行时间长、未使用索引的SQL语句以优化性能。

要开启并配置MySQL的慢查询日志,需要在MySQL配置文件中进行相关设置,并结合工具进行分析。以下是具体操作方法和分析建议。
开启慢查询日志
编辑MySQL的配置文件(通常为my.cnf或my.ini),在[mysqld]段落中添加以下参数:
slow_query_log = ON:启用慢查询日志功能 slow_query_log_file = /var/log/mysql/mysql-slow.log:指定慢查询日志文件路径(需确保目录存在且MySQL有写权限) long_query_time = 2:设定SQL执行时间超过多少秒才记录为慢查询(例如2秒) log_queries_not_using_indexes = ON:可选,记录未使用索引的查询语句,便于优化
修改完成后重启MySQL服务使配置生效:
sudo systemctl restart mysql
验证慢查询日志是否生效
登录MySQL执行如下命令查看当前慢查询状态:
SHOW VARIABLES LIKE ‘slow_query%’;
SHOW VARIABLES LIKE ‘long_query_time’;
确认输出中slow_query_log为ON,且日志路径正确。可以手动执行一条耗时较长的SQL测试是否被记录。
慢查询日志分析方法
使用MySQL自带的mysqldumpslow工具分析日志内容:
Ai Mailer
使用Ai Mailer轻松制作电子邮件
49 查看详情
mysqldumpslow -s at -t 10 /var/log/mysql/mysql-slow.log:按平均执行时间排序,显示最慢的前10条SQL mysqldumpslow -s c -t 5 /var/log/mysql/mysql-slow.log:按出现次数排序,找出频繁执行的慢SQL
常见关注点包括:执行时间长、扫描行数多、未使用索引、锁等待时间高等。
使用pt-query-digest进行深度分析
Percona Toolkit中的pt-query-digest功能更强大,可生成详细报告:
pt-query-digest /var/log/mysql/mysql-slow.log > slow_report.txt
报告包含每类查询的统计信息、示例SQL、执行计划建议等,适合用于性能调优。
基本上就这些,配置好日志后定期分析,能有效发现数据库性能瓶颈。关键是设置合理的long_query_time并关注未走索引的语句。不复杂但容易忽略细节。
以上就是mysql镜像配置如何设置慢查询日志_mysql镜像配置慢查询日志开启与分析方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1010378.html
微信扫一扫
支付宝扫一扫