Eu estou tentando descobrir como ligar / desligar o log de consulta geral do MySQL 5.1.48, sem reiniciar o servidor (não uma opção em produção agora). No meu ambiente de teste, não está funcionando.
De acordo com isto Eu deveria poder dizer:
set global general_log = 'OFF';
que funciona: o log de consulta geral não tem mais consultas adicionadas a ele. Mas quando eu faço:
set global general_log = 'ON';
reclama que:
ERROR 1146 (42S02): Table 'mysql.general_log' doesn't exist
(verdade, isso não acontece), e o log adiciona um cabeçalho de inicialização padrão ("mysqld, Versão: 5.1.48 ..."), e nada mais.
Posso simplesmente ir para outro banco de dados MySQL com a mesma plataforma / versão, copiar sua show create table mysql.general_log;
e executá-lo aqui? Isso é seguro, ou isso é sintomático de problemas mais profundos? E eu tenho que fazer isso quando ligo o log de consulta geral? Eu não vejo nada sobre isso no manual.
mysql_upgrade -p --force
e depois umservice mysql restart
e agora ligar e desligar general_log funciona como deveria. Muito obrigado Matt!