A PURGE BINARY LOGS
instrução exclui todos os arquivos de log binários listados no arquivo de índice de log antes do nome ou carimbo de data / hora do arquivo de log especificado. Os arquivos de log excluídos também são removidos da lista registrada no arquivo de índice, para que o arquivo de log especificado se torne o primeiro na lista.
Espero que você tenha removido logs binários até mysql-bin.000019
usando o comando
PURGE BINARY LOGS TO 'mysql-bin.000019';
Se você precisar limpar todos os logs, faça o seguinte:
PURGE BINARY LOGS TO 'mysql-bin.000025';
Isso removerá os logs binários até mysql-bin.000025
.
ATUALIZAR
Podes tentar
RESET MASTER;
RESET MASTER
Exclui todos os arquivos de log binários listados no arquivo de índice, redefine o arquivo de índice de log binário para ficar vazio e cria um novo arquivo de log binário
Os efeitos de RESET MASTER
diferem dos de PURGE BINARY LOGS de 2 maneiras principais:
RESET MASTER
remove todos os arquivos de log binários listados no arquivo de índice, deixando apenas um único arquivo de log binário vazio com um sufixo numérico de .000001, enquanto a numeração não é redefinida por PURGE BINARY LOGS.
RESET MASTER
não foi projetado para ser usado enquanto os escravos de replicação estiverem em execução. O comportamento de RESET MASTER
quando usado enquanto os escravos estão em execução é indefinido (e, portanto, sem suporte), enquanto PURGE BINARY LOGS
pode ser usado com segurança enquanto os escravos de replicação estão em execução.
CAVEAT by RolandoMySQLDBA
Se você executar RESET MASTER
com os Slaves conectados e em execução, o thread de E / S de cada escravo perderá imediatamente seu lugar. Portanto, a replicação é interrompida e você terá que gastar tempo obtendo os dados de todos os Slaves sincronizados novamente. Se você deseja excluir com segurança os logs binários de um mestre sem violar a integridade da replicação, eis o que você faz:
- Corra
SHOW SLAVE STATUS\G
em cada escravo.
- Tome nota
Relay_Master_Log_File
. Este é o log binário cuja última instrução foi executada com sucesso no Slave).
- Em todas as exibições de
SHOW SLAVE STATUS\G
, determine qual Relay_Master_Log_File
é a mais antiga (por exemplo, 'mysql-bin.00123').
- Você pode executar
PURGE BINARY LOGS TO 'mysql-bin.00123';
Nenhum dos escravos perderá seu lugar.
O efeito geral? Isso deixará para trás logs binários no Mestre, cujas instruções ainda não foram executadas em todos os escravos.