Existe uma maneira de registrar apenas determinadas operações do MySQL?
Preciso habilitar seu login em um servidor de produção, mas apenas para comandos drop/create. Infelizmente, registrar tudo é lento e só preciso desses comandos específicos.
Responder1
Não existe uma maneira sofisticada de registrar consultas no MySQL. A única coisa que você pode fazer é o seguinte:
O log de consulta geral é um registro geral do que o mysqld está fazendo. O servidor grava informações nesse log quando os clientes se conectam ou desconectam e registra cada instrução SQL recebida dos clientes. O log de consulta geral pode ser muito útil quando você suspeita de um erro em um cliente e deseja saber exatamente o que o cliente enviou ao mysqld.
Responder2
você pode tentar ativar o binlog. não afetará tanto o seu desempenho quanto os logs regulares [apenas os comandos que alteram os dados são registrados]. mas pode não ser adequado às suas necessidades se você, por exemplo, quiser registrar a partir de qual ip o comando drop fornecido foi emitido.
Responder3
Existe uma solução alternativa muito bonita. Basta passar a tail
saída do para grep
, por exemplo, assim:
$ tail -f /var/log/mysql/mysql.log | grep "update "