J'ai une base de données MySQL (5.1) assez grande fonctionnant dans Amazon en tant qu'instance RDS. Je travaille sur sa migration hors d'Amazon. Pour cela, j'aimerais configurer le nouveau matériel en tant que réplique en lecture seule de l'instance RDS.
Je sais que RDS prend en charge la réplication dans RDS. Existe-t-il un moyen de le configurer pour qu'il se réplique sur un hôte qui n'est pas dans RDS?
mysql
replication
Leopd
la source
la source
Réponses:
Il est maintenant possible de répliquer sur des esclaves mysql externes à partir de RDS: http://www.ruempler.eu/2013/07/07/replicating-aws-rds-mysql-databases-to-external-slaves/
la source
On dirait qu'Amazon a choisi d'interdire cela pour l'instant:
https://forums.aws.amazon.com/thread.jspa?threadID=46377&tstart=0
la source
Si vous avez le scénario suivant
vous pouvez créer un utilisateur dans RDS comme celui-ci
Si Amazon n'autorise pas «%» pour le nom d'hôte, vous aurez besoin d'une adresse IP publique spécifique
Ensuite, mysqldump les données de RDS en une seule transaction
Exécutez la commande CHANGE MASTER TO en utilisant leopd@'xxx.xx.xx.xxxx 'en tant qu'utilisateur (xxx.xx.xx.xxxx est l'adresse IP de RDS)
Chargez les données sur un nouveau serveur. Ne vous inquiétez pas pour master_log_file = 'slsnbj' et master_log_pos = 1. La ligne 22 du vidage aura le fichier journal et la position corrects.
Exécutez START SLAVE; sur le nouveau serveur
Il devrait commencer à fonctionner. Vous devrez peut-être vous soucier des considérations relatives au pare-feu.
Essaie !!!
MISE À JOUR 2012-03-23 17:11 EDT
Il ne vous reste qu'une seule chance. Voyez si vous pouvez définir ce dernier privilège avec ceci:
Peut-être que cela est bloqué pour les utilisateurs qui ont% dans la colonne hôte de mysql.user.
Vous devrez peut-être créer un autre utilisateur avec une adresse IP publique dure comme je l'ai suggéré plus tôt
Il est possible que les esclaves de réplication dans RDS doivent également être RDS.
la source
GRANT REPLICATION SLAVE
résultats sont obtenusERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
SHOW GRANTS
. Avez-vous tous les privilèges ? ?GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD <snip> WITH GRANT OPTION
. On dirait qu'Amazon ne le permet tout simplement pas.