Ich habe eine ziemlich große MySQL (5.1) -Datenbank, die in Amazon als RDS-Instanz ausgeführt wird. Ich arbeite daran, es von Amazon zu migrieren. Um das reibungslos zu machen, möchte ich die neue Hardware als schreibgeschütztes Replikat der RDS-Instanz einrichten.
Ich weiß, dass RDS die Replikation innerhalb von RDS unterstützt. Gibt es eine Möglichkeit, es für die Replikation auf einem Host zu konfigurieren, der sich nicht in RDS befindet?
mysql
replication
Leopd
quelle
quelle
Antworten:
Es ist jetzt möglich, von RDS auf externe MySQL-Slaves zu replizieren: http://www.ruempler.eu/2013/07/07/replicating-aws-rds-mysql-databases-to-external-slaves/
quelle
Offenbar hat Amazon beschlossen, dies vorerst zu verbieten:
https://forums.aws.amazon.com/thread.jspa?threadID=46377&tstart=0
quelle
Wenn Sie das folgende Szenario haben
Sie können einen Benutzer in RDS wie folgt erstellen
Wenn Amazon '%' für den Hostnamen nicht zulässt, benötigen Sie eine bestimmte öffentliche IP-Adresse
Als nächstes mysqldump die Daten aus RDS als einzelne Transaktion
Führen Sie den Befehl CHANGE MASTER TO mit leopd@'xxx.xx.xx.xxxx 'als Benutzer aus (xxx.xx.xx.xxxx ist die IP-Adresse von RDS).
Laden Sie die Daten auf einen neuen Server. Machen Sie sich keine Sorgen um master_log_file = 'slsnbj' und master_log_pos = 1. Zeile 22 des Dumps enthält die richtige Protokolldatei und Position.
START SLAVE ausführen; auf dem neuen Server
Es sollte funktionieren. Möglicherweise müssen Sie sich über Firewall-Überlegungen Gedanken machen.
Versuche es !!!
UPDATE 2012-03-23 17:11 EDT
Sie haben nur noch eine Chance. Sehen Sie, ob Sie dieses letzte Privileg folgendermaßen festlegen können:
Möglicherweise wird dies für Benutzer blockiert, die% in der Hostspalte von mysql.user haben.
Möglicherweise müssen Sie einen anderen Benutzer mit einer festen öffentlichen IP-Adresse erstellen, wie ich zuvor vorgeschlagen habe
Es ist möglich, dass Replikations-Slaves in RDS auch RDS sein müssen.
quelle
GRANT REPLICATION SLAVE
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
SHOW GRANTS
. Hast du alle Privilegien an . ?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
. Sieht so aus, als würde Amazon dies einfach nicht zulassen.