MySQL慢查询日志需动态开启(SET GLOBAL slow_query_log = ON)并设long_query_time(如1.0秒),指定slow_query_log_file路径,且默认不记录UPDATE/DELETE;解析推荐pt-query-digest而非mysqldumpslow;日志轮转须先关闭再重命名或用FLUSH SLOW LOGS。slow_query_log 怎么打开才真正生效MySQL 的慢查询日志默认是关闭的,光改配置文件不重启或不动态启用,slow_query_log 就只是个摆设。很多线上环境配了但查不到慢 SQL,根本原因是没确认它是否真在写入。动态开启(无需重启):SET GLOBAL slow_query_log = ON;,但要注意:该命令只对新连接生效,当前会话不会记录自己执行的语句必须同时设置 long_query_time,例如 SET GLOBAL long_query_time = 1.0;(单位秒,支持小数),否则默认是 10 秒,大部分"慢"都漏掉了日志路径由 slow_query_log_file 控制,建议显式指定绝对路径(如 /var/log/mysql/mysql-slow.log),避免 MySQL 自行拼接出错或权限不足检查是否生效最直接的方式:SHOW VARIABLES LIKE 'slow_query_log%'; 和 SHOW VARIABLES LIKE 'long_query_time';为什么开了 slow_query_log 却没记录 UPDATE/DELETE默认情况下,MySQL 只记录 SELECT 语句到慢查询日志,UPDATE、DELETE、INSERT 等写操作不会被收录------这是很多人排查 DML 性能问题时踩的第一个坑。要捕获所有慢语句,必须开启 log_queries_not_using_indexes 并配合 min_examined_row_limit,但这俩不是为 DML 设计的,仍不可靠真正可行的办法是启用 general_log + 过滤,但开销大,仅限临时诊断;生产环境更推荐用 performance_schema.events_statements_summary_by_digest 查聚合后的慢执行摘要如果非要用慢日志抓写操作,5.7+ 可设置 log_output = 'TABLE' 并查 mysql.slow_log 表,但注意该表默认是 CSV 引擎,插入性能差,且不自动清理mysqldumpslow 解析慢日志总报错或结果不准mysqldumpslow 是 MySQL 自带的分析工具,但对现代慢日志格式兼容性差,尤其遇到带毫秒精度的 long_query_time(如 0.1)、带注释的 SQL 或多行语句时,解析极易出错或合并失败。 Ideogram Ideogram是一个全新的文本转图像AI绘画生成平台,擅长于生成带有文本的图像,如LOGO上的字母、数字等。
相关推荐
紫小米3 小时前
后端日志管理白雪茫茫4 小时前
监督学习、半监督学习、无监督学习算法详解つ安静与叛逆的小籹人4 小时前
小红书API:通过笔记ID获取笔记详情数据教程05候补工程师5 小时前
[实战复盘] 拒绝 AI 屎山!我从设计模式中学到的“调教”AI 新范式杨云龙UP5 小时前
SQL Server2022部署:Windows Server 2016下安装、SSMS配置、备份还原与1433端口放通全流程_20260508阿豪只会阿巴6 小时前
【没事学点啥】TurboBlog轻量级个人博客项目——项目介绍墨染天姬7 小时前
【AI】cursor提示词小技巧古月-一个C++方向的小白7 小时前
MySQL数据库——数据类型qq_413502028 小时前
如何创建CDB公共用户_C##前缀强制规则与CONTAINER=ALL