MySQL日志不记录需按顺序排查:先查日志开关状态(SHOW VARIABLES),再核对配置文件参数,接着检查磁盘空间、文件权限及SELinux/AppArmor限制,最后验证是否缓存未刷盘或被logrotate轮转。

MySQL日志突然不记录,大概率是配置被修改、服务重启后失效,或磁盘空间/权限等运行时问题。先别急着重装,按顺序排查几个关键点就能快速定位。
MySQL的错误日志、慢查询日志、通用查询日志默认并不全开,且仅靠配置文件设置还不够,部分日志需运行时动态开启。执行以下命令确认当前状态:
SHOW VARIABLES LIKE 'log_error'; 看路径是否存在、是否可写SHOW VARIABLES LIKE 'slow_query_log'; 返回 OFF 就说明没开;再看 slow_query_log_file 路径是否合理SHOW VARIABLES LIKE 'general_log'; 同样要为 ON;general_log_file 路径也需检查编辑 MySQL 配置文件(通常是 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf),在 [mysqld] 段检查以下几项是否正确设置:
log_error = /var/log/mysql/error.log(路径存在且 mysql 用户有写权限)slow_query_log = ON(不是 1 或 true,必须是 ON)slow_query_log_file = /var/log/mysql/mysql-slow.loglong_query_time = 2(数值合理,太大会导致“看似没记录”)general_log = ON(慎开,生产环境一般关闭)general_log_file = /var/log/mysql/general.log改完记得 sudo systemctl restart mysql(或 mysqld),并确认服务成功启动。
日志写不进去,90% 是因为:
df -h 查看日志所在分区使用率,超 95% 就可能触发 MySQL 自动停写mysql:mysql,且有写权限:sudo chown -R mysql:mysql /var/log/mysql,sudo chmod 755 /var/log/mysql
sudo setenforce 0 或 sudo aa-disable /usr/sbin/mysqld,若恢复记录则需调整策略有时日志其实写了,但你看不见:
FLUSH LOGS; 强制刷盘,再操作触发日志(如慢查询、INSERT)观察ls -lt /var/log/mysql/*.log*
tail -f 实时跟踪日志文件,同时执行一条明确会记日志的操作(如 SELECT SLEEP(3); 测试慢日志)以上就是mysql日志突然不记录了怎么办_mysql日志配置检查的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号