Recuperación Fallo en Replicación MySQL maestro – esclavo

Si por alguna razón una base de datos MySQL que esta replicada falla en la sincronización y es necesario volver a sincronizarlas manualmente, este es el procedimiento a seguir:

En el servidor Master

RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

Copiar los valores del resultado del ultimo comando ejecutado para ser utilizado posteriormente. Debe ser algo así:

+------------------+----------+---------------+------------------+
| File             | Position | Binlog_Do_DB  | Binlog_Ignore_DB |
+------------------+----------+---------------+------------------+
| mysql-bin.000001 |       98 | dbmydnsconfig |                  | 
+------------------+----------+---------------+------------------+

Sin cerrar la conexión, puesto que se perdería el bloqueo de las tablas, realizar un volcado de la base de datos master:

mysqldump -uroot -p --all-database > /RUTA/mysqldump.sql

Ahora, podemos liberar el bloqueo de las tablas. Para hacerlo, ejecutar el siguiente comando desde el cliente mysql:

UNLOCK TABLES;

Ahora, copiamos el archivo generado al servidor esclavo utilizando nuestra herramienta favorita (scp, cp, rsync)

En el Esclavo

Abrir una conexión MySQL con nuestro cliente de consola y digitar:

STOP SLAVE;

Cargar el archivo generado y copiado de la siguiente manera:

mysql -uroot -p < mysqldump.sql

Sincronizar desde el cliente MySQL el esclavo y master de la siguiente forma:

RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;

Donde los valores de los campos son los que copiamos inicialmente

Finalmente digitar:

START SLAVE;

Y verificamos que todo este funcionando correctamente, digitamos:

SHOW SLAVE STATUS;

Y deberíamos ver en alguna parte:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Eso es todo!

Deja una respuesta

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

Blue Captcha Image
Refrescar

*