Eu tenho um método interessante, mas você terá que parar a replicação para fazer
Para o servidor de banco de dados M1, S1 e S2
STEP01) No S2, instale a mesma versão do MySQL que o S1 possui
STEP02) No S2, certifique-se de que server_id em /etc/my.cnf seja diferente de server_id em S1
STEP03) No S1, STOP SLAVE;
STEP04) No S1, SHOW SLAVE STATUS\G
STEP05) Anote os dois valores a seguir do PASSO 04
- Master_Host (MHOST)
- Master_Port (MPORT)
- Relay_Master_Log_File (RMLF)
- Exec_Master_Log_Pos (EMLP)
STEP06) No S1, mysqldump ... --all-databases > /root/MySQLDataForSlave.sql
STEP07) No S1, START SLAVE;
STEP08) No S1, scp /root/MySQLDataForSlave.sql S2:/root/.
STEP09) No S2, mysql ... < /root/MySQLDataForSlave.sql
STEP10) No S2, execute este comando no cliente mysql usando valores do STEP05
CHANGE MASTER TO
master_host='MHOST',
master_port=MPORT,
master_user='repluser',
master_password='replpass',
master_log_file='RMLF',
master_log_pos=EMLP;
PASSO11) No S2, START SLAVE;
STEP12) Em S2, SHOW SLAVE STATUS\G
(se Slave_IO_Running
e Slave_SQL_Running
forem Sim, FELICITAÇÕES !!!)
STEP13) No S2, SHOW SLAVE STATUS\G
de novo e de novo até Seconds_Behind_Master
= 0;
Na verdade, eu escrevi um script para automatizar isso no DBA StackExchange em 06 de fevereiro de 2012 .
Experimente!