mysql如何开启慢查询日志_mysql性能监控环境配置

直接查询 @@slow_query_log 变量值是最可靠方式,若为 0 则日志未启用,即使配置文件设置了 slow_query_log = ON 也可能因权限或路径问题静默失败。如何确认 MySQL 慢查询日志当前是否启用直接查 slow_query_log 变量值是最可靠的方式,而不是依赖配置文件是否存在相关项。执行:SELECT @@slow_query_log, @@slow_query_log_file, @@long_query_time;如果返回 @@slow_query_log 为 0,说明日志实际未开启,哪怕 my.cnf 里写了 slow_query_log = ON 也没用------MySQL 启动时可能因权限、路径不可写等原因静默失败。slow_query_log_file 默认路径常为 /var/lib/mysql/hostname-slow.log,但若目录不存在或 MySQL 用户无写权限,日志会创建失败且不报错long_query_time 默认是 10.0 秒,对 Web 应用来说完全没意义,建议调成 0.5 或 1.0(支持小数)动态开启可执行 SET GLOBAL slow_query_log = ON;,但重启后失效;持久化必须写进配置文件并重启 mysqldmy.cnf 中必须写的三行配置(含路径与权限避坑)只加 slow_query_log = ON 是不够的。以下三项需同时存在,且顺序无关,但路径必须显式指定:slow_query_log = ON<br>slow_query_log_file = /var/log/mysql/mysql-slow.log<br>long_query_time = 1.0/var/log/mysql/ 目录必须存在,且属主为 mysql:mysql(不是 root),否则 MySQL 启动时跳过日志初始化不要用 ~ 或环境变量,MySQL 不解析 shell 路径缩写如果用 Docker,宿主机挂载的目录需提前 chown 999:999 /host/path(MySQL 官方镜像默认 uid=999)如何验证慢查询日志真正在记录(绕过"以为开了其实没写"的陷阱)别只看文件是否存在,要确认内容实时更新。最稳妥方法是手动触发一条慢查询:SELECT SLEEP(2);然后立刻检查日志文件末尾:tail -n 5 /var/log/mysql/mysql-slow.log正常应看到类似: Ideogram Ideogram是一个全新的文本转图像AI绘画生成平台,擅长于生成带有文本的图像,如LOGO上的字母、数字等。

相关推荐
Poo_Chai6 分钟前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
卷无止境36 分钟前
FastAPI Guard 全解析,从概念到工程落地的实战指南
后端·python
卷无止境41 分钟前
FastAPI Users 全面解析:概念、原理与工程实战
后端·python
这个DBA有点耶1 小时前
从DBA到数据架构师(五):数据架构演进中的技术债务管理
数据库·程序人生·云原生·架构·dba·数据库管理员
COOLMO研究AI1 小时前
Python 如何在 AI 接口中实现请求幂等性:防止重复提交与重复扣费
人工智能·python·php
CTA量化套保1 小时前
新手学量化,先做能复查的小流程
人工智能·python
Bruce_Liuxiaowei2 小时前
基于微步在线威胁情报的公网 IP 攻击迹象监测:threatbook_query 脚本全解析与 BruceSec 平台整合实践
数据库·tcp/ip·安全·网络安全·智能体
码农颜2 小时前
5.6.2 ⾏级锁死锁
数据库·sql·oracle
ctlover2 小时前
Python文件操作
开发语言·python
AndrewHZ2 小时前
图像处理入门(第005期):颜色空间入门——RGB/HSV/CMYK/Lab
图像处理·python·opencv·hsv·rgb·色彩空间