如何配置mysql错误日志_mysql错误日志配置说明

来源:这里教程网 时间:2026-02-28 20:48:46 作者:

MySQL 错误日志默认是开启的,但具体路径、是否启用、是否自动轮转等需根据版本和配置手动确认或调整。重点在于确保错误日志能稳定记录启动失败、连接异常、崩溃等关键信息,便于排查问题。

确认错误日志是否已启用

登录 MySQL 后执行:

SHOW VARIABLES LIKE 'log_error';

若返回非空值(如 /var/log/mysql/error.log),说明已启用;若为空或为 OFF,则未启用。注意:5.7+ 默认开启,但路径可能因安装方式(包管理器 vs 二进制)而异。

在 my.cnf 中显式配置错误日志路径

编辑 MySQL 配置文件(通常为 /etc/my.cnf/etc/mysql/my.cnf),在 [mysqld] 段下添加或修改:

log_error = /var/log/mysql/error.log(推荐使用绝对路径) 确保目录存在且 MySQL 进程有写权限:chown mysql:mysql /var/log/mysqlchmod 755 /var/log/mysql 避免使用相对路径或 /tmp 下路径,防止重启后丢失或权限问题

启用错误日志自动轮转(Linux 系统)

MySQL 本身不自动轮转错误日志,需借助系统工具:

配置 logrotate,例如新建 /etc/logrotate.d/mysql-error

/var/log/mysql/error.log {
  daily
  missingok
  rotate 30
  compress
  delaycompress
  notifempty
  create 640 mysql mysql
  sharedscripts
  postrotate
    if [ -f /var/run/mysqld/mysqld.pid ]; then
      kill -USR1 `cat /var/run/mysqld/mysqld.pid`
    fi
  endscript
}

其中 USR1 信号会通知 MySQL 重新打开错误日志文件(需 MySQL 支持,5.5.3+ 均支持)。

验证配置并重载生效

修改配置后必须重启或重载服务:

先检查配置语法:mysqld --defaults-file=/etc/my.cnf --validate-config(8.0.14+ 支持) 重启服务:systemctl restart mysqld(或 service mysql restart 再次运行 SHOW VARIABLES LIKE 'log_error'; 确认路径已更新 手动触发一次错误(如输入错误密码登录)后检查日志文件是否有新内容

相关推荐