Einrichtung der binären Protokollreplikation für Aurora My SQL - Amazon Aurora

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.

Einrichtung der binären Protokollreplikation für Aurora My SQL

Die Einrichtung von My SQL Replication mit Aurora My SQL umfasst die folgenden Schritte, auf die im Detail eingegangen wird:

1. Aktivieren der Binärprotokollierung für die Replikationsquelle

Im Folgenden finden Sie die Anweisungen zum Aktivieren der Binärprotokollierung an der Replikationsquelle für Ihre Datenbank-Engine.

2. Beibehaltung der Binärprotokolle für die Replikationsquelle, bis diese nicht mehr erforderlich sind

Wenn Sie My SQL Binary Log Replication verwenden, verwaltet Amazon den Replikationsprozess RDS nicht. Daher müssen Sie sicherstellen, dass die Binärprotokolldateien an Ihre Replikationsquelle so lange aufbewahrt werden, bis die Änderungen auf das Replica angewandt wurden. Durch diese Pflege können Sie Ihre Quelldatenbank im Fall eines Ausfalls wiederherstellen.

Verwenden Sie folgende Anweisungen zur Beibehaltung von Binärprotokollen für Ihre Datenbank-Engine.

3. Erstellen Sie eine Kopie oder einen Dump Ihrer Replikationsquelle

Sie verwenden einen Snapshot, einen Klon oder einen Dump Ihrer Replikationsquelle, um eine Basiskopie Ihrer Daten auf Ihr Replikat zu laden. Dann beginnen Sie von diesem Punkt aus mit der Replikation.

Verwenden Sie die folgenden Anweisungen, um eine Kopie oder einen Dump der Replikationsquelle für Ihre Datenbank-Engine zu erstellen.

4. Laden Sie den Dump in Ihr Replikatziel (falls erforderlich)

Wenn Sie planen, Daten aus einem Dump einer SQL My-Datenbank zu laden, der sich außerhalb von Amazon befindetRDS, möchten Sie möglicherweise eine EC2 Instanz erstellen, in die die Dumpdateien kopiert werden. Anschließend können Sie die Daten von dieser EC2 Instance in Ihren DB-Cluster oder Ihre DB-Instance laden. Mit diesem Ansatz können Sie die Dump-Datei (en) komprimieren, bevor Sie sie auf die EC2 Instance kopieren, um die Netzwerkkosten zu reduzieren, die mit dem Kopieren von Daten zu Amazon RDS verbunden sind. Sie können die Dumpdatei oder -dateien auch verschlüsseln, um sie beim Übermitteln im Netzwerk zu schützen.

Anmerkung

Wenn Sie einen neuen Aurora My SQL DB-Cluster als Ihr Replikatziel erstellen, müssen Sie keine Dump-Datei laden:

Verwenden Sie die folgenden Anweisungen, um den Dump Ihrer Replikationsquelle in Ihr Replikatziel für Ihre Datenbank-Engine zu laden.

5. Erstellen Sie einen Replikationsbenutzer auf Ihrer Replikationsquelle

Erstellen Sie eine Benutzer-ID an der Quelle, die ausschließlich für die Replikation verwendet wird. Das folgende Beispiel bezieht sich auf die RDS SQL Quelldatenbanken My SQL oder externe My Source Database.

mysql> CREATE USER 'repl_user'@'domain_name' IDENTIFIED BY 'password';

Für Aurora SQL My-Quelldatenbanken ist der skip_name_resolve DB-Cluster-Parameter auf 1 (ON) gesetzt und kann nicht geändert werden. Sie müssen also eine IP-Adresse für den Host anstelle eines Domainnamens verwenden. Weitere Informationen finden Sie unter skip_name_resolve in der Dokumentation „Meine“. SQL

mysql> CREATE USER 'repl_user'@'IP_address' IDENTIFIED BY 'password';

Der Benutzer benötigt die Berechtigungen REPLICATION CLIENT und REPLICATION SLAVE. Gewähren Sie dem Benutzer diese Berechtigungen.

Wenn Sie die verschlüsselte Replikation verwenden müssen, benötigen Sie SSL Verbindungen für den Replikationsbenutzer. Sie können beispielsweise eine der folgenden Anweisungen verwenden, um SSL Verbindungen für das Benutzerkonto erforderlich zu machenrepl_user.

GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'IP_address';
GRANT USAGE ON *.* TO 'repl_user'@'IP_address' REQUIRE SSL;
Anmerkung

Wenn REQUIRE SSL nicht angegeben wird, kann die Replikationsverbindung ohne entsprechende Meldung auf eine unverschlüsselte Verbindung zurückgesetzt werden.

6. Aktivieren der Replikation für das Replikat-Ziel

Bevor Sie die Replikation aktivieren, empfehlen wir Ihnen, einen manuellen Snapshot des Aurora My SQL DB-Clusters oder RDS des Replikatziels My SQL DB-Instance zu erstellen. Wenn ein Problem auftritt und Sie den Replikationsvorgang mit dem DB-Cluster oder dem DB-Instance-Replica-Ziel wieder einrichten müssen, können Sie das DB-Cluster bzw. die DB-Instance aus diesem Snapshot wiederherstellen, anstatt erneut Daten in das Replica-Ziel zu importieren.

Verwenden Sie folgende Anweisungen zum Aktivieren der Replikation für Ihre Datenbank-Engine.

Wenn die Replikation fehlschlägt, kann dies zu einem starken Anstieg der unbeabsichtigten I/O auf dem Replikat führen, was die Leistung beeinträchtigen kann. Wenn die Replikation fehlschlägt oder nicht mehr benötigt wird, können Sie das gespeicherte Verfahren mysql.rds_reset_external_master (Aurora Meine Version 2) SQL oder mysql.rds_reset_external_source (Aurora Meine Version 3) SQL zum Entfernen der Replikationskonfiguration durchführen.

Festlegen einer Position zum Stoppen der Replikation zu einer Read Replica

In Aurora My SQL Version 3.04 und höher können Sie die Replikation starten und sie dann mithilfe der mysql.rds_start_replication_until (Aurora Meine Version 3) SQL gespeicherten Prozedur an einem bestimmten Speicherort der Binärprotokolldatei beenden.

Starten Sie die Replikation für ein Lesereplikat und stoppen Sie die Replikation an einer bestimmten Position wie folgt:
  1. Stellen Sie über einen My SQL Client als Masterbenutzer eine Verbindung zum SQL Replikat-Aurora-My-DB-Cluster her.

  2. Führen Sie die gespeicherte Prozedur mysql.rds_start_replication_until (Aurora Meine Version 3) SQL aus.

    Das folgende Beispiel initiiert die Replikation und repliziert die Änderungen, bis die Position 120 in der Binärprotokolldatei mysql-bin-changelog.000777 erreicht wird. Beispiel: In einem Szenario der Notfallwiederherstellung liegt die Position 120 unmittelbar vor der Katastrophe.

    call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);

Die Replikation stoppt automatisch, sobald der Stopppunkt erreicht ist. Das folgende RDS Ereignis wird generiert:Replication has been stopped since the replica reached the stop point specified by the rds_start_replication_until stored procedure.

Wenn Sie die GTID basierte Replikation verwenden, verwenden Sie die mysql.rds_start_replication_until_gtid (Aurora Meine Version 3) SQL gespeicherte Prozedur anstelle der mysql.rds_start_replication_until (Aurora Meine Version 3) SQL gespeicherten Prozedur. Weitere Hinweise zur GTID basierten Replikation finden Sie unterVerwenden der GTID basierten Replikation.

7. Überwachen Ihres Replikats

Wenn Sie My SQL Replication mit einem Aurora My SQL DB-Cluster einrichten, müssen Sie Failover-Ereignisse für den Aurora My SQL DB-Cluster überwachen, wenn er das Replikatziel ist. Im Falle eines Failovers kann dann das DB-Cluster (das Replica-Ziel) auf einem neuen Host mit einer anderen Netzwerkadresse erneut erstellt werden. Weitere Informationen zum Überwachen von Failover-Ereignissen finden Sie unter Mit RDS Amazon-Event-Benachrichtigungen arbeiten.

Sie können auch überwachen, wie weit das Replikatziel hinter der Replizierungsquelle zurückliegt, indem Sie eine Verbindung zum Replikatziel herstellen und den SHOW SLAVE STATUS Befehl (Aurora My SQL Version 2) oder SHOW REPLICA STATUS (Aurora My SQL Version 3) ausführen. In der Befehlsausgabe wird im Feld Seconds Behind Master angezeigt, wie weit das Replica-Ziel hinter der Quelle zurückliegt.

Synchronisierung von Passwörtern zwischen Replikationsquelle und -ziel

Wenn Sie Benutzerkonten und Kennwörter auf der Replikationsquelle mithilfe von SQL Anweisungen ändern, werden diese Änderungen automatisch auf das Replikationsziel repliziert.

Wenn Sie das AWS Management Console Master-Passwort für die RDS API Replikationsquelle mit dem AWS CLI, dem oder dem ändern, werden diese Änderungen nicht automatisch auf das Replikationsziel repliziert. Wenn Sie den Master-Benutzer und das Master-Kennwort zwischen dem Quell- und dem Zielsystem synchronisieren möchten, müssen Sie die gleiche Änderung auf dem Replikationsziel selbst vornehmen.