如何将 MySQL 日志输出到 syslog?

ino*_*iro 14 mysql logs

我想使用 syslog 在 Ubuntu(10.04 LTS) 上记录 MySQL(5.1.41)。我找到了将错误日志输出到 syslog 的信息。

[mysqld_safe]
syslog
Run Code Online (Sandbox Code Playgroud)

但我想使用 syslog 来记录一般日志和慢查询日志。请教我如何写配置文件?

我在参考手册中找不到如何做到这一点。

http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html

小智 12

这样做更简单:

cd 到 mysql 文件夹:

mkfifo mysql-general.log
Run Code Online (Sandbox Code Playgroud)

在 my.cnf 中告诉它:

[mysqld]
general-log-file = /path/to/mysql/dir/mysql-general.log
Run Code Online (Sandbox Code Playgroud)

然后,配置您的 syslog/syslog-ng 以读取 FIFO 管道并按照它的意愿进行处理。

就我而言,我将它通过网络通过管道传输到一个只有错误日志和慢查询日志的集中式服务器。

在您还想保留本地副本的情况下,只需将其设置为如上所述输出到表和文件即可。

  • fifo 也有不幸的趋势,如果没有编写任何收听程序,它们就会冻结。所以,如果 MySQL 停止写入这个 fifo,那么 syslog 也可能停止。 (3认同)