PURGE {MASTER|BINARY} LOGS TO 'log_name' PURGE {MASTER|BINARY} LOGS BEFORE 'date'
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
MySQL 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 MySQL 4.1.1.
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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.