我正在尝试将 /var/log/mysql/error.log 切换到 MySQL 8 中的 syslog。原因是与我们的解析监控兼容,可能不是那么干净,但它能完成工作。我在 mysql <=5.7 上没有遇到任何问题
我关注了手册页https://dev.mysql.com/doc/refman/8.0/en/error-log-syslog.html并且它开始显示一些开始/停止消息,但仍然没有完全完成我想要完成的任务。
日志文件 /var/log/mysql/error.log 仍然是唯一显示此类错误的日志,我希望拥有syslog
:
2018-08-10T13:53:50.927165Z 1 [ERROR] [MY-012574] [InnoDB] InnoDB: Unable to lock ./ibdata1 error: 11
2018-08-10T13:54:06.285066Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
到目前为止我尝试了很多方法,甚至以 root 身份启动 mysqld_safe。
请不要建议添加syslog
,[mysqld]
此设置在 8.0.13(下一个版本)中被删除
在 cnf 中我仅添加/etc/mysql/mysql.conf.d/mysqld.cnf
:
log_error_services = 'log_sink_syseventlog'
Mysql 版本是mysql-community-server 8.0.12-1debian9
有任何想法吗?
答案1
如果这是 Debian 9,它正在运行,systemd
对吗?因此输出将进入日志(mysqld stderr 将进入日志)。查看/proc/{mysqldpid}/fd
stdout/stderror 进入的位置。如果是这样,journalctl
应该能够访问 mysql 错误日志。