Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfiguration der GTID basierten Replikation mit einer externen Quellinstanz
Sie können die Replikation basierend auf globalen Transaktions-Identifikatoren (GTIDs) von einer externen MariaDB-Instance der Version 10.0.24 oder höher in eine RDS for MariaDB-DB-Instance einrichten. Folgen Sie diesen Richtlinien, wenn Sie eine externe Quell-Instance und ein Replikat bei Amazon RDS einrichten:
Überwachen Sie Failover-Ereignisse für die RDS for MariaDB-DB-Instance, die Ihr Replikat ist. Tritt ein Failover auf, kann die DB-Instance, die Ihr Replikat ist, auf einem neuen Host mit einer anderen Netzwerkadresse wiederhergestellt werden. Weitere Informationen zum Überwachen von Failover-Ereignissen finden Sie unter Mit RDS Amazon-Event-Benachrichtigungen arbeiten.
Behalten Sie die Binärprotokolle auf Ihrer Quell-Instance, bis sichergestellt ist, dass sie auf das Replikat angewendet wurden. Durch das Aufbewahren können Sie sicherstellen, dass Sie Ihre Quell-Instance im Fall eines Ausfalls wiederherstellen können.
Aktivieren Sie automatische Backups auf Ihrer MariaDB-DB-Instance bei Amazon. RDS Das Einschalten automatischer Backups stellt sicher, dass Sie Ihr Replikat zu einem bestimmten Zeitpunkt wiederherstellen können, wenn Sie den Master und das Replikat neu synchronisieren müssen. Informationen zu Backups und Point-In-Time Restore finden Sie unter. Daten sichern, wiederherstellen und exportieren
Anmerkung
Die zum Starten der Replikation auf einer MariaDB-DB-Instance erforderlichen Berechtigungen sind eingeschränkt und stehen Ihrem RDS Amazon-Master-Benutzer nicht zur Verfügung. Aus diesem Grund müssen Sie die Amazon RDS mysql.rds_set_external_master_gtid - und mysql.rds_start_replication -Befehle verwenden, um die Replikation zwischen Ihrer Live-Datenbank und Ihrer RDS für MariaDB-Datenbank einzurichten.
Gehen Sie wie folgt vor, um die Replikation zwischen einer externen Quell-Instance und einer MariaDB-DB-Instance auf Amazon RDS zu starten.
So starten Sie eine Replikation:
-
Legen Sie die Quell-MariaDB-Instance als schreibgeschützt fest:
mysql> FLUSH TABLES WITH READ LOCK; mysql> SET GLOBAL read_only = ON;
-
Ruft den aktuellen Stand GTID der externen MariaDB-Instanz ab. Sie können dies mithilfe von
mysql
oder mithilfe des Query Editors Ihrer Wahl tun, umSELECT @@gtid_current_pos;
auszuführen.Das GTID ist formatiert als.
<domain-id>-<server-id>-<sequence-id>
Ein typisches GTID sieht ungefähr so0-1234510749-1728
aus. Weitere Informationen zu GTIDs und ihren Bestandteilen finden Sie unter Global Transaction IDin der MariaDB-Dokumentation. -
Kopieren Sie die Datenbank mithilfe von von der externen MariaDB-Instance in die MariaDB-DB-Instanc
mysqldump
. Für große Datenbanken empfiehlt es sich, die Prozedur in zu verwende Import von Daten in eine Amazon RDS for MySQL MySQL-Datenbank mit reduzierter Ausfallzeit.Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
mysqldump \ --databases
database_name
\ --single-transaction \ --compress \ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql \ --host=hostname \ --port=3306 \ -uRDS_user_name
\ -pRDS_password
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:
mysqldump ^ --databases
database_name
^ --single-transaction ^ --compress ^ --order-by-primary \ -ulocal_user
\ -plocal_password
| mysql ^ --host=hostname ^ --port=3306 ^ -uRDS_user_name
^ -pRDS_password
Anmerkung
Zwischen der Option
-p
und dem eingegebenen Passwort darf kein Leerzeichen vorhanden sein.Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
Verwenden Sie die Optionen
--host
,--user (-u)
,--port
und-p
im Befehlmysql
, um Hostnamen, Benutzernamen, Port und Passwort für die Verbindung mit Ihrer MariaDB-DB-Instance festzulegen. Der Hostname ist beispielsweise der DNS Name des MariaDB-DB-Instance-Endpunkts.myinstance.123456789012.us-east-1.rds.amazonaws.com
Sie finden den Endpunktwert in den Instance-Details in der Amazon RDS Management Console. -
Legen Sie die Quell-MariaDB-Instance als wieder beschreibbar fest.
mysql> SET GLOBAL read_only = OFF; mysql> UNLOCK TABLES;
-
Fügen Sie in der Amazon RDS Management Console die IP-Adresse des Servers, der die externe MariaDB-Datenbank hostet, zur VPC Sicherheitsgruppe für die MariaDB-DB-Instance hinzu. Weitere Informationen zum Ändern einer VPC Sicherheitsgruppe finden Sie unter Sicherheitsgruppen für Sie VPC im Amazon Virtual Private Cloud Cloud-Benutzerhandbuch.
Die IP-Adresse kann sich ändern, wenn die folgenden Bedingungen erfüllt sind:
-
Sie verwenden eine öffentliche IP-Adresse für die Kommunikation zwischen der externen Quell-Instance und der DB-Instance.
-
Die externe Quell-Instance wurde gestoppt und neu gestartet.
Wenn diese Bedingungen erfüllt sind, überprüfen Sie die IP-Adresse, bevor Sie sie hinzufügen.
Es könnte sein, dass Sie Ihr lokales Netzwerk so konfigurieren müssen, dass es Verbindungen von der IP-Adresse Ihrer MariaDB-DB-Instance zulässt, damit es mit Ihrer externen MariaDB-Instance kommunizieren kann. Verwenden Sie den Befehl
host
, um die IP-Adresse Ihrer MariaDB-DB-Instance zu herauszufinden.host
db_instance_endpoint
Der Hostname ist der DNS Name des MariaDB-DB-Instance-Endpunkts.
-
-
Verbinden Sie sich mithilfe eines Clients Ihrer Wahl mit der externen MariaDB-Instance und erstellen Sie einen MariaDB-Benutzer, der für die Replikation verwendet werden soll. Dieses Konto wird ausschließlich für die Replikation verwendet und muss auf Ihre Domäne beschränkt sein, um die Sicherheit zu erhöhen. Im Folgenden wird ein Beispiel gezeigt.
CREATE USER '
repl_user
'@'mydomain.com
' IDENTIFIED BY 'password
';Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
-
Erteilen Sie für die externe MariaDB-Instance die Berechtigungen
REPLICATION CLIENT
undREPLICATION SLAVE
für Ihren Replikationsbenutzer. Erteilen Sie beispielsweise die SonderrechteREPLICATION CLIENT
undREPLICATION SLAVE
in allen Datenbank für den 'repl_user
'-Benutzer für Ihre Domäne, mit dem folgenden Befehl.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '
repl_user
'@'mydomain.com
'; -
Machen Sie die MariaDB-DB-Instance zum Replikat. Verbinden Sie sich als Masterbenutzer mit der MariaDB-DB-Instance und bestimmen Sie die externe MariaDB-Datenbank mithilfe des Befehls mysql.rds_set_external_master_gtid als Quell-Instance. Verwenden Sie denGTID, den Sie in Schritt 2 festgelegt haben. Im Folgenden wird ein Beispiel gezeigt.
CALL mysql.rds_set_external_master_gtid ('
mymasterserver.mydomain.com
', 3306, 'repl_user
', 'password
', 'GTID
',1
);Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
-
Verwenden Sie auf der MariaDB-DB-Instance den Befehl mysql.rds_start_replication, um die Replikation zu starten:
CALL mysql.rds_start_replication;