Saltar al contenido

¿Es seguro eliminar archivos mysql-bin?

Solución:

Por favor, no los elimine simplemente en el sistema operativo.

Debe dejar que mysqld lo haga por usted. Así es como mysqld lo gestiona:

El archivo mysql-bin.[index] mantiene una lista de todos los registros binarios que mysqld ha generado y rotado automáticamente. Los mecanismos para limpiar los binlogs junto con mysql-bin.[index] están:

PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';

Estos borrarán todos los registros binarios antes del binlog o la marca de tiempo que acaba de especificar.

Por ejemplo, si corres

PURGE BINARY LOGS TO 'mysql-bin.000223';

esto borrará todos los registros binarios antes mysql-bin.000223.

Si tu corres

PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;

esto borrará todos los registros binarios antes de la medianoche de hace 3 días.

Si desea que binlog se elimine automáticamente y se mantenga durante 3 días, simplemente configure esto:

mysql> SET GLOBAL expire_logs_days = 3;

luego agrega esto a /etc/my.cnf

[mysqld]
expire_logs_days=3

y mysqld eliminará los registros por ti

MOSTRAR ESTADO DE ESCLAVO G

Esto es fundamental. Cuando corres SHOW SLAVE STATUSG, verá dos registros binarios del maestro:

  • Master_Log_File
  • Relay_Master_Log_File

Cuando la replicación tiene poco o ningún retraso, estos suelen tener el mismo valor. Cuando hay mucho retraso en la replicación, estos valores son diferentes. Para hacerlo simple, elija lo que sea Relay_Master_Log_File es, y vuelve al Maestro y corre

PURGE BINARY LOGS TO 'Whatever Relay_Master_Log_File Is';

De esa forma, la replicación no se interrumpe.

Esto realmente depende de su estrategia de respaldo. Una de las principales razones para mantener los registros binarios es restaurar su base de datos a un ‘punto en el tiempo’. Si su base de datos falla y requiere restauración, debe restaurar la última copia de seguridad completa y luego reproducir los registros binarios comenzando con la posición de la copia de seguridad completa.

Por lo tanto, si realiza una copia de seguridad completa todos los días y tiene registros binarios de 7 días, es probable que pueda eliminar los registros binarios de los últimos 4-6 días. Puede controlar cuántos días de registros binarios se mantienen con el expire_logs_days configuración.

Puede eliminar los registros binarios que no necesita viendo primero cuál es el registro más antiguo que desea conservar:

ls -lh /path/to/binary/logs/mysql-bin.0*

y luego en mysql:

mysql> PURGE BINARY LOGS TO 'mysql-bin.XXXXX';

Prueba esto:

RESET MASTER;

como decía el documento:

RESET MASTER le permite eliminar cualquier archivo de registro binario y su archivo de índice de registro binario relacionado, devolviendo el maestro a su estado antes de que se iniciara el registro binario.

Esto eliminará todos los archivos de registro binarios relacionados, que pueden no ser lo que desea.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *