开启慢查询日志需配置slow_query_log=ON,long_query_time设置阈值,log_output指定输出方式为FILE或TABLE,可记录执行时间长、未使用索引的SQL语句,便于性能分析。

在 MySQL 中设置慢查询日志格式,核心是配置相关参数以控制日志输出内容和格式。
开启慢查询日志并设置输出格式
MySQL 慢查询日志用于记录执行时间超过指定阈值的 SQL 语句,便于性能分析。要设置其格式,需调整几个关键参数:
slow_query_log:启用或禁用慢查询日志(设为 ON 开启)long_query_time:定义“慢”的标准,单位为秒(如 1.0 表示超过 1 秒)log_output:设置日志输出方式,支持 FILE 或 TABLE(或两者)slow_query_log_file:指定日志文件路径(当 log_output 包含 FILE 时)log_slow_queries:旧版本兼容参数,新版本建议使用 slow_query_log
若希望将日志写入 mysql.slow_log 表中以便用 SQL 查询,需确保 log_output 包含 TABLE。例如:
SET GLOBAL log_output = 'TABLE';
然后查看日志内容:
SELECT * FROM mysql.slow_log ORDER BY start_time DESC LIMIT 10;
控制日志详细程度
通过以下参数可调整日志记录的信息粒度:
log_queries_not_using_indexes:是否记录未使用索引的查询(即使未超时)log_slow_admin_statements:是否记录慢的管理类语句(如 ALTER TABLE)log_throttle_queries_not_using_indexes:限制未使用索引的日志条目频率,防止日志爆炸
这些设置直接影响日志内容的丰富性与实用性。例如,开启 log_queries_not_using_indexes 可帮助发现潜在性能问题。
CodeSquire
AI代码编写助手,把你的想法变成代码
103 查看详情
慢查询日志格式字段说明
当 log_output 设为 TABLE 时,mysql.slow_log 表包含如下主要字段:
start_time:查询开始时间user_host:执行用户及来源主机query_time:SQL 执行耗时lock_time:锁等待时间rows_sent:返回行数rows_examined:扫描行数sql_text:实际执行的 SQL 语句db:当前数据库名
这些字段构成了慢查询日志的标准格式,可用于分析性能瓶颈。
配置示例(my.cnf)
在 MySQL 配置文件中添加以下内容:
[mysqld]slow_query_log = ONslow_query_log_file = /var/log/mysql/slow.loglong_query_time = 1.0log_output = FILE,TABLElog_queries_not_using_indexes = ONlog_slow_admin_statements = ON
重启服务或动态生效后,MySQL 将按此格式记录慢查询。
基本上就这些。合理设置慢查询日志格式,能显著提升数据库性能调优效率。
以上就是如何在mysql中设置慢查询日志格式_mysql慢查询日志格式的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/877492.html
微信扫一扫
支付宝扫一扫