MySQL: Registra apenas comandos drop/create

MySQL: Registra apenas comandos drop/create

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.

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

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 tailsaída do para grep, por exemplo, assim:

$ tail -f /var/log/mysql/mysql.log | grep "update "

informação relacionada