Estou tentando definir meu arquivo de log geral para um pipe nomeado fifo e estou recebendo um erro
$ 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
Versão que estou executando 5.6.20-68.0-log Percona Server.
Como posso fazer isso funcionar?
Parece que deve funcionar porque o general_log_file é dinâmico (de acordo com a documentação do MySQL) .
Cerca de seis (6) anos atrás, Joel Hanger respondeu Como faço para enviar logs do MySQL para o syslog? . Em sua resposta, ele adicionou ao my.cnf. Evidentemente, uma reinicialização do mysqld seria necessária.
No seu caso particular, você pode ter que habilitar o log geral primeiro usando
para iniciar um log geral com o nome padrão de
hostname
.log.Isso criará um identificador de arquivo aberto. Você pode então ter que tentar definir o
general_log_file
comgeneral_log
ligado e desligado. Você também pode ter que executarFLUSH LOGS;
para forçar o fechamento e reabertura de identificadores de arquivo de log.Esta resposta é apenas um palpite preguiçoso, então tente e veja.