07
Oct
08

Recuperando un servidor esclavo de MySQL en caliente

A veces, shit happens… lo sabemos todos. Y pasa en todos los lados y en el momento más inoportuno. Hoy he descubierto que podía recuperar un esclavo de MySQL en caliente porque utilizamos un engine transaccional (InnoDB).

maestro$ mysqldump --single-transaction --databases db1 db2 --master-data=1 -u root -R -p > /tmp/dump.sql

scp de rigor a la máquina destino, stop slave, carga, start slave:

maestro$ scp /tmp/dump.sql esclavo:/tmp
esclavo$ echo “stop slave;” | mysql -u root -p
Enter password:
esclavo$ mysql -u root -p < /tmp/dump
esclavo$ echo “start slave;” | mysql -u root -p

La iluminación ha venido por parte de High Performance MySQL: Optimization, Backups, Replication, and More, un hayquetener donde los haya y libro que recomiendo prácticamente a cualquiera que se tenga que pelear con este servidor de base de datos.

En el libro, además, usan pipes:

maestro$ mysqldump --single-transaction --databases db1 db2 --master-data=1 -u root -R -p | mysql -u root -h esclavo -p

1 Respuesta a “Recuperando un servidor esclavo de MySQL en caliente”



Escribe un comentario