O log de consulta do MySQL não está sendo removido

1

Eu tinha habilitado o MySQL Query Log para verificar quais consultas estão sendo executadas em nosso aplicativo em um determinado intervalo de tempo.

Eu queria que os Logs fossem atualizados por 3 dias uma vez, então eu tinha ativado os dias do log de expiração como 3 dias.

Mas quando vi o arquivo de log, o registro estava lá a partir da data de ativação do Registro de consulta, que durou mais de uma semana.

Devido a isso, o arquivo de log foi aumentado para mais de 2 GB, o que não foi capaz de obter as informações dele.

Existe alguma opção para permitir que o arquivo de registro de consulta seja atualizado / limpo após alguns dias.

Estou usando o servidor MySQL 5.0.24.

    
por Phanindra 11.06.2011 / 08:37

1 resposta

1

expire_logs_days é responsável pela rotação de logs binários apenas.

Você pode precisar zapear o registro de erros por conta própria.

Tente fazer isso (Exemplo: /var/log/mysqld.log é o log de erros)

Passo 01) Crie um script para copiar o log de erros e gzip, nomeando-o por data e hora (chame o script /root/rotate_mysqld_log.sh)

cd /var/log
DT='date +"%Y%m%d_%H%M%S"'
BACKUP_ERROR_LOG=mysqld_${DT}.log.gz
cat mysqld.log | gzip > ${BACKUP_ERROR_LOG}
echo -n > mysqld.log

Passo 02) faça /root/rotate_mysqld_log.sh executável

chmod +x /root/rotate_mysqld_log.sh

Passo 03) Adicione o script ao crontab (rodar à meia-noite)

0 0 * * * /root/rotate_mysqld_log.sh

Experimente!

    
por 13.06.2011 / 17:09

Tags