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

2次阅读

mysql错误日志默认开启但需手动确认路径与配置;通过show variables like ‘log_Error’验证启用状态,my.cnf中配置log_error绝对路径并设权限,用logrotate配合usr1信号实现轮转,最后重启服务并验证。

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

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’; 确认路径已更新
  • 手动触发一次错误(如输入错误密码登录)后检查日志文件是否有新内容
text=ZqhQzanResources