Temos vários bancos de dados MySQL 5.0.
Temos tido problemas de segurança, como registros sendo modificados sem autorização.
Precisamos implementar algum tipo de auditoria nas operações DML identificando usuários que realizam operações UPDATE ou DELETE em algumas tabelas críticas.
Eu tenho pesquisado sobre qualquer opção my.conf que ativaria esse tipo de auditoria, sem sucesso.
O método menos perturbador seria usar o log de consulta geral . A saída do log de consulta pode ser uma tabela de banco de dados ou um arquivo de log (texto); no entanto, ele não oferece suporte à filtragem por operação DML ou banco de dados, portanto, todas as instruções SELECT em todos os bancos de dados também serão registradas. Obviamente, você pode filtrar a saída de registro posteriormente.
Observe também:
Isso significa que, com alguma lógica injetada, é possível desabilitar o log para SELECTs.
Outra solução é usar gatilhos em UPDATE, INSERT, DELETE. Isso afetará diretamente o banco de dados em questão, mas não outros bancos de dados em execução na mesma instância.
Veja também perguntas SO aqui e aqui .