如何开启mysql错误日志_mysql日志配置方法

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

MySQL 错误日志默认是开启的,无法禁用,但路径和文件名可能未显式配置,导致不易定位。关键是要确认当前是否已指向明确的文件路径,并确保 MySQL 进程有权限写入该位置。

查看当前错误日志配置

登录 MySQL 后执行:

mysql> SHOW VARIABLES LIKE 'log_error';

若返回值为 /var/log/mysqld.log 或类似绝对路径,说明已配置;若显示 stderr,则日志正输出到系统日志(常见于 systemd 管理的服务),需进一步调整。

在配置文件中指定错误日志路径

编辑 MySQL 主配置文件(Linux/macOS 通常是 /etc/my.cnf/etc/mysql/my.cnf;Windows 是 my.ini),在 [mysqld] 段落下添加或修改:

log_error = /var/log/mysql/error.log

注意三点:

目标目录必须存在,例如:
sudo mkdir -p /var/log/mysql
MySQL 进程用户(通常是
mysql
)需有写权限:
sudo chown mysql:mysql /var/log/mysql
路径不能是相对路径,必须为绝对路径

重启服务使配置生效

保存配置后,重启 MySQL:

sudo systemctl restart mysqld

或根据系统使用:

sudo service mysqld restart

重启后再次运行

SHOW VARIABLES LIKE 'log_error';
,确认路径已更新且文件开始生成。

手动轮转错误日志(避免单文件过大)

MySQL 不支持自动按大小或时间切割错误日志,但可通过以下方式安全轮转:

重命名当前日志:
sudo mv /var/log/mysql/error.log /var/log/mysql/error.log.20251223
触发日志重开:
mysqladmin -u root -p flush-logs
新日志会立即以原名(
error.log
)重新创建并写入

建议配合定时任务(如 cron)定期执行,防止日志无限增长。

相关推荐