Si tienes el siguiente escenario
- todos tus datos son innodb
- Tiene el registro binario habilitado en RDS
podrías crear un usuario en RDS como este
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'leopd'@'%' IDENTIFIED BY 'repl_password';
Si Amazon no permite '%' para el nombre de host, necesitará una dirección IP pública específica
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'leopd'@'xxx.xx.xx.xxx';
A continuación, mysqldump los datos de RDS como una sola transacción
mysqldump -u... -p... --single-transaction --master-data=1 --all-databases --routines --triggers > /root/MySQLData.sql
Ejecute el comando CHANGE MASTER TO con leopd@'xxx.xx.xx.xxxx 'como usuario (xxx.xx.xx.xxxx es la dirección IP de 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;
Cargue los datos en un nuevo servidor. No se preocupe por master_log_file = 'slsnbj' y master_log_pos = 1. La línea 22 del volcado tendrá el archivo de registro y la posición correctos.
Ejecute START SLAVE; en el nuevo servidor
Debería comenzar a funcionar. Puede que tenga que preocuparse por las consideraciones de firewall.
Darle una oportunidad !!!
ACTUALIZACIÓN 2012-03-23 17:11 EDT
Solo te queda una oportunidad. Vea si puede establecer ese último privilegio con esto:
UPDATE mysql.user SET Repl_slave_priv = 'Y' WHERE user='root' AND host='%';
FLUSH PRIVILEGES;
Quizás esto se esté bloqueando para los usuarios que tienen% en la columna de host de mysql.user.
Es posible que necesite crear otro usuario con una IP pública rígida como sugerí anteriormente
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'leopd'@'xxx.xx.xx.xxx';
Es posible que los esclavos de replicación en RDS también sean RDS.