Actualizado el domingo, 19 junio, 2016
Existe la posibilidad de copiar los datos de un slave a otro, mediante rsync.
- Slave1 (origen): CentOS 6.5 con Percona 5.5 Release rel29.3, Revision 388
- Slave2 (destino): CentOS 6.5 con Percona 5.5 Release rel29.4, Revision 401
Detenemos Mysql
mysql> slave stop;
Detenemos los servicios mysql de ambos servidores:
mysql> show slave status\G; Slave_IO_Running: No Slave_SQL_Running: No /etc/init.d/mysqld stop
Realizamos un backup de los datos del servidor destino (Slave2) simplemente renombrando la carpeta referente al dbpath:
slave2# mv /var/lib/mysql /var/lib/mysql.bkp
Desde el servidor origen, iniciamos rsync:
slave1# rsync -avprP -e ssh /var/lib/mysql/ root@10.0.0.22:/var/lib/
Hemos de asegurarnos de que el servidor de destino tenga las iptables abiertas para permitir la conexión ssh desde el servidor origen, así como que el usuario con el que conectamos con slave2 tenga permisos suficientes para la carpeta destino.
Cuando finalice la copia, modificas el propietario del nuevo directorio y inicias todos los servicios de nuevo, en ambos servidores.
slave2# chown mysql:mysql /var/lib/mysql -R slave2# chmod 660 /var/lib/mysql/database/* slave2# /etc/init.d/mysqld start slave2 | mysql> start slave; slave1# /etc/init.d/mysqld start slave1 | mysql> start slave;
Para asegurarte que el nuevo slave esta corriendo, ejecuta:
master | mysql> SHOW SLAVE HOSTS;