PURGE MASTER LOGS
Deleta todos os logs binários que estão listados no índice de log anteriores ao log ou data especificado. O log também remove da lista gravada no índice de log, e assim o log dado se torna o primeiro.
Exemplo:
PURGE MASTER LOGS TO 'mysql-bin.010'; PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';
A variante BEFORE
está disponível no MariaDB 4.1; este argumento de data pode estar no formato 'YYYY-MM-DD hh:mm:ss'
. MASTER
e BINARY
são sinônimos, embora BINARY
possa ser usado apenas a partir do MariaDB.
Se você tiver um slave ativo que está atualmente lendo um dos logs que você stá tentando deletar, este comando não faz nada e falha com um erro. No entanto, se você tiver um slave ativo e apagar um dos logs que ele quiser ler, o slave não poderá replicar uma vez que ele esteja ativo. O comando é seguro para de se executar enquanto os sslaves estiverem replicando. Você não precisa de pará-los.
Você deve primeiro verificar todos os slaves com SHOW SLAVE STATUS
para ver qual log eles estão lendo, e então você deve fazer uma lista dos logs no master com SHOW MASTER LOGS
, encontrar o log mais novo entre todos os slaves (se todos os slaves estão atualizados, ele será o último log da lista), tirar backup de todos os logs que você está prestes a deletar (opcional) e deletar até o log alvo.