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上的字母、数字等。
相关推荐
凯瑟琳.奥古斯特6 分钟前
子查询原理与实战案例解析Eiceblue8 分钟前
Python 操作 Excel:数据分组、分类汇总与取消分组全解KaMeidebaby24 分钟前
卡梅德生物技术快报|酵母双杂交 cDNA 文库构建与蛋白互作筛选流程暴躁小师兄数据学院30 分钟前
【AI大数据工程师特训笔记】第02讲:PostgreSQL数据库生态全景沐风___31 分钟前
App 上架之后:如何看数据、获取用户与持续迭代产品暴躁小师兄数据学院33 分钟前
【AI大模型应用开发工程师特训笔记】第04讲(第9章):文件目录操作夜微凉442 分钟前
三、MySQL疯狂打码的少年1 小时前
CISC vs RISC 对比小新同学^O^1 小时前
Redis的简单总结暴躁小师兄数据学院1 小时前
【AI大数据工程师特训笔记】第11讲:正则表达式与正则函数