La PURGE BINARY LOGS
instrucción elimina todos los archivos de registro binarios enumerados en el archivo de índice de registro antes del nombre del archivo de registro o la marca de tiempo especificados. Los archivos de registro eliminados también se eliminan de la lista registrada en el archivo de índice, de modo que el archivo de registro dado se convierte en el primero de la lista.
Espero que hayas purgado los registros binarios hasta mysql-bin.000019
usar el comando
PURGE BINARY LOGS TO 'mysql-bin.000019';
Si necesita purgar todos los registros, haga clic en Me gusta
PURGE BINARY LOGS TO 'mysql-bin.000025';
Esto eliminará los registros binarios hasta mysql-bin.000025
.
ACTUALIZAR
Puedes probar
RESET MASTER;
RESET MASTER
Elimina todos los archivos de registro binarios enumerados en el archivo de índice, restablece el archivo de índice de registro binario para que esté vacío y crea un nuevo archivo de registro binario
Los efectos de RESET MASTER
difieren de los de PURGE BINARY LOGS en 2 formas clave:
RESET MASTER
elimina todos los archivos de registro binarios que figuran en el archivo de índice, dejando solo un único archivo de registro binario vacío con un sufijo numérico de .000001, mientras que la numeración no se restablece mediante PURGE BINARY LOGS.
RESET MASTER
no estaba destinado a usarse mientras se ejecutaban esclavos de replicación. El comportamiento de RESET MASTER
cuando se usa mientras los esclavos están en ejecución no está definido (y, por lo tanto, no es compatible), mientras que PURGE BINARY LOGS
puede usarse de manera segura mientras los esclavos de replicación están en ejecución.
CAVEAT por RolandoMySQLDBA
Si corres RESET MASTER
con Slaves conectados y corriendo, el hilo IO de cada Slave perderá inmediatamente su lugar. Por lo tanto, la replicación no funciona y tendrá que pasar tiempo obteniendo los datos de todos los esclavos sincronizados nuevamente. Si desea eliminar de forma segura los registros binarios de un maestro sin romper la integridad de la replicación, esto es lo que debe hacer:
- Corre
SHOW SLAVE STATUS\G
en cada esclavo.
- Tomar nota de
Relay_Master_Log_File
. Este es el registro binario cuya última declaración se ejecutó con éxito en Slave).
- De todas las pantallas de
SHOW SLAVE STATUS\G
, determine cuál Relay_Master_Log_File
es la más antigua (por ejemplo, 'mysql-bin.00123').
- Puedes correr
PURGE BINARY LOGS TO 'mysql-bin.00123';
Ninguno de los esclavos perderá su lugar.
El efecto general? Esto dejará registros binarios en el maestro cuyas declaraciones no se han ejecutado en todos los esclavos hasta el momento.