Se você tiver o seguinte cenário
- todos os seus dados são innodb
- você tem o log binário ativado no RDS
você pode criar um usuário no RDS como este
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'leopd'@'%' IDENTIFIED BY 'repl_password';
Se a Amazon não permitir '%' para o nome do host, você precisará de um endereço IP público específico
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'leopd'@'xxx.xx.xx.xxx';
Em seguida, o mysqldump extrai os dados do RDS como uma única transação
mysqldump -u... -p... --single-transaction --master-data=1 --all-databases --routines --triggers > /root/MySQLData.sql
Execute o comando CHANGE MASTER TO usando leopd@'xxx.xx.xx.xxxx 'como o usuário (xxx.xx.xx.xxxx é o endereço IP do RDS)
CHANGE MASTER TO
master_host = 'xxx.xx.xx.xxxx',
master_port = 3306,
master_user = 'leopd',
master_passwowrd = 'repl_pass'
master_log_file='slsnbj',
master_log_pos=1;
Carregue os dados em um novo servidor. Não se preocupe com o master_log_file = 'slsnbj' e o master_log_pos = 1. A linha 22 do despejo terá o arquivo de log e a posição corretos.
Execute START SLAVE; no novo servidor
Deve começar a funcionar. Talvez você precise se preocupar com considerações de firewall.
De uma chance !!!
UPDATE 2012-03-23 17:11 EDT
Você só tem uma chance. Veja se você pode definir esse último privilégio com isso:
UPDATE mysql.user SET Repl_slave_priv = 'Y' WHERE user='root' AND host='%';
FLUSH PRIVILEGES;
Talvez isso esteja sendo bloqueado para usuários que possuem% na coluna host do mysql.user.
Pode ser necessário criar outro usuário com um IP público rígido, como sugeri anteriormente
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'leopd'@'xxx.xx.xx.xxx';
É possível que os escravos de replicação no RDS também devam ser RDS.