我正在尝试将我的常规日志文件设置为 fifo 命名管道,但出现错误
$ sudo mkfifo -m 0666 general.fifo
mysql> set global general_log_file='/var/log/mysql/dradis/general.fifo';
ERROR 1231 (42000): Variable 'general_log_file' can't be set to the value of '/var/log/mysql/dradis/general.fifo'
mysql> \! ls -l /var/log/mysql/dradis/general.fifo
prw-rw-rw- 1 root root 0 Nov 27 14:27 /var/log/mysql/dradis/general.fifo
我正在运行 5.6.20-68.0-log Percona Server 的版本。
我怎样才能使这项工作?
它看起来应该可以工作,因为general_log_file 是动态的(根据 MySQL 文档)。
大约六 (6) 年前,Joel Hanger 回答了如何将 MySQL 日志输出到系统日志?. 在他的回答中,他将其添加到 my.cnf 中。显然,需要重新启动 mysqld。
在您的特定情况下,您可能必须先使用启用常规日志
使用默认名称
hostname
.log 启动一般日志。这将创建一个打开的文件句柄。然后,您可能必须尝试设置
general_log_file
打开general_log
和关闭。您可能还必须运行FLUSH LOGS;
以强制关闭和重新打开日志文件句柄。这个答案只是一个懒惰的猜测,所以试试看。