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:
Inhalt
- 1. Aktivieren der Binärprotokollierung für die Replikationsquelle
- 2. Beibehaltung der Binärprotokolle für die Replikationsquelle, bis diese nicht mehr erforderlich sind
- 3. Erstellen Sie eine Kopie oder einen Dump Ihrer Replikationsquelle
- 4. Laden Sie den Dump in Ihr Replikatziel (falls erforderlich)
- 5. Erstellen Sie einen Replikationsbenutzer auf Ihrer Replikationsquelle
- 6. Aktivieren der Replikation für das Replikat-Ziel
- 7. Überwachen Ihres Replikats
- Synchronisierung von Passwörtern zwischen Replikationsquelle und -ziel
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.
Datenbank-Engine | Anweisungen |
---|---|
Aurora My SQL |
So aktivieren Sie die Binärprotokollierung auf einem Aurora My SQL DB-Cluster Legen Sie den Parameter Um den Wenn Sie den Parameter Weitere Informationen erhalten Sie unter Amazon Aurora-DB-Cluster und DB-Instance-Parameter und Parametergruppen für Amazon Aurora. |
RDSfür mein SQL |
So aktivieren Sie die Binärprotokollierung auf einer RDS Amazon-DB-Instance Sie können die Binärprotokollierung nicht direkt für eine RDS Amazon-DB-Instance aktivieren, aber Sie können sie aktivieren, indem Sie einen der folgenden Schritte ausführen:
|
Mein SQL (extern) |
So richten Sie eine verschlüsselte Replikation ein Um Daten mit Aurora My SQL Version 2 sicher zu replizieren, können Sie die verschlüsselte Replikation verwenden. AnmerkungWenn Sie keine verschlüsselte Replikation benötigen, können Sie diese Schritte überspringen. Folgende Voraussetzungen gelten für die Verwendung einer verschlüsselten Replikation:
Während der verschlüsselten Replikation fungiert der Aurora My SQL DB-Cluster als Client für den My SQL Database-Server. Die Zertifikate und Schlüssel für den Aurora My SQL Client liegen in Dateien im PEM-Format vor.
Um die Binärprotokollierung in einer externen My SQL Database zu aktivieren
|
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.
Datenbank-Engine | Anweisungen |
---|---|
Aurora My SQL |
So speichern Sie Binärprotokolle auf einem Aurora My SQL DB-Cluster Sie haben keinen Zugriff auf die Binlogdateien für einen Aurora My SQL DB-Cluster. Daher müssen Sie einen Zeitrahmen wählen, in dem die Binlogdateien lange genug auf Ihrer Replikationsquelle aufbewahrt werden, um sicherzustellen, dass die Änderungen auf Ihr Replikat angewendet wurden, bevor die Binlog-Datei von Amazon gelöscht wird. RDS Sie können Binlog-Dateien bis zu 90 Tage in einem Aurora My SQL DB-Cluster aufbewahren. Wenn Sie die Replikation mit einer My SQL Database- oder My SQL DB-Instance als Replikat einrichten und die Datenbank, RDS für die Sie ein Replikat erstellen, sehr groß ist, wählen Sie einen großen Zeitrahmen, um Binlog-Dateien aufzubewahren, bis die ursprüngliche Kopie der Datenbank auf das Replikat abgeschlossen ist und die Replikatverzögerung 0 erreicht hat. Verwenden Sie zur Festlegung der Aufbewahrungszeit für Binärprotokolldateien die Prozedur mysql.rds_set_configuration und legen Sie einen Konfigurationsparameter für Beim folgenden Beispiel wird der Aufbewahrungszeitraum für binäre Protokolle auf 6 Tage festgelegt:
Nachdem die Replikation gestartet wurde, können Sie überprüfen, ob die Änderungen auf Ihr Replikat angewendet wurden, indem Sie den Befehl Wenn diese Einstellung nicht angegeben ist, SQL ist die Standardeinstellung für Aurora My 24 (1 Tag). Wenn Sie einen Wert angeben |
RDSfür Mein SQL |
So speichern Sie Binärprotokolle auf einer RDS Amazon-DB-Instance Sie können binäre Protokolldateien auf einer RDS Amazon-DB-Instance aufbewahren, indem Sie die Aufbewahrungszeiten für Binärprotokolle festlegen, genau wie bei einem Aurora My SQL DB-Cluster, der in der vorherigen Zeile beschrieben wurde. Sie können Binlogdateien auch auf einer RDS Amazon-DB-Instance speichern, indem Sie eine Read Replica für die DB-Instance erstellen. Dieses Lesereplikat ist temporär und lediglich dazu gedacht, Binärprotokolldateien aufzubewahren. Nachdem das Lesereplikat erstellt wurde, rufen Sie die Prozedur mysql.rds_stop_replication für das Lesereplikat auf. Während die Replikation gestoppt ist, löscht Amazon RDS keine der Binlogdateien auf der Replikationsquelle. Nachdem Sie die Replikation mit Ihrem permanenten Replikat eingerichtet haben, können Sie das Read-Replikat löschen, sobald die Replikat-Verzögerung (Feld |
Mein SQL (extern) |
Um Binärprotokolle in einer externen SQL Datenbank von My zu speichern Da Binlogdateien in einer externen SQL My-Datenbank nicht von Amazon verwaltet werdenRDS, werden sie aufbewahrt, bis Sie sie löschen. Nachdem die Replikation gestartet wurde, können Sie überprüfen, ob die Änderungen auf Ihr Replikat angewendet wurden, indem Sie den Befehl |
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.
Datenbank-Engine | Anweisungen |
---|---|
Aurora My SQL |
So erstellen Sie eine Kopie eines Aurora My SQL DB-Clusters Verwenden Sie eine der folgenden Methoden:
Um den Namen und die Position der Binlog-Datei zu ermitteln Verwenden Sie eine der folgenden Methoden:
Um einen Dump eines Aurora My SQL DB-Clusters zu erstellen Wenn Ihr Replikatziel eine externe My SQL Database- oder eine RDS for My SQL DB-Instance ist, müssen Sie eine Dump-Datei aus Ihrem Aurora-DB-Cluster erstellen. Stellen Sie sicher, dass Sie den
|
RDSfür mein SQL |
Um einen Snapshot einer RDS Amazon-DB-Instance zu erstellen Erstellen Sie eine Read Replica Ihrer Amazon RDS DB-Instance. Weitere Informationen finden Sie unter Erstellen einer Read Replica im Amazon Relational Database Service-Benutzerhandbuch.
|
Mein SQL (extern) |
Um einen Speicherauszug einer externen Datenbank „MeineSQL“ 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:
-
Sie können aus einem DB-Cluster-Snapshot wiederherstellen, um einen neuen DB-Cluster zu erstellen. Weitere Informationen finden Sie unter Wiederherstellen aus einem DB-Cluster-Snapshot.
-
Sie können Ihren Quell-DB-Cluster klonen, um einen neuen DB-Cluster zu erstellen. Weitere Informationen finden Sie unter Klonen eines Volumes für einen Amazon-Aurora-DB-Cluster.
-
Sie können die Daten aus einem DB-Instance-Snapshot in einen neuen DB-Cluster migrieren. Weitere Informationen finden Sie unter Migrieren von Daten zu einem Amazon Aurora My SQL DB-Cluster.
Verwenden Sie die folgenden Anweisungen, um den Dump Ihrer Replikationsquelle in Ihr Replikatziel für Ihre Datenbank-Engine zu laden.
Datenbank-Engine | Anweisungen |
---|---|
Aurora My SQL |
Um einen Dump in einen Aurora My SQL DB-Cluster zu laden
|
RDSfür mein SQL |
Um einen Dump in eine RDS Amazon-DB-Instance zu laden
|
Mein SQL (extern) |
Um einen Dump in eine externe Meine SQL Datenbank zu laden Sie können keinen DB-Snapshot oder einen DB-Cluster-Snapshot in eine externe My SQL Database laden. Stattdessen müssen Sie die Ausgabe des
|
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
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.
Datenbank-Engine | Anweisungen |
---|---|
Aurora My SQL |
So aktivieren Sie die Replikation von einem Aurora My SQL DB-Cluster
Um die SSL Verschlüsselung zu verwenden, setzen Sie den Endwert auf |
RDSfür mein SQL |
So aktivieren Sie die Replikation von einer RDS Amazon-DB-Instance
Um die SSL Verschlüsselung zu verwenden, setzen Sie den endgültigen Wert auf |
Mein SQL (extern) |
Um die Replikation von einer externen Datenbank aus Meine SQL Datenbank zu aktivieren
|
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:
-
Stellen Sie über einen My SQL Client als Masterbenutzer eine Verbindung zum SQL Replikat-Aurora-My-DB-Cluster her.
-
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ärprotokolldateimysql-bin-changelog.000777
erreicht wird. Beispiel: In einem Szenario der Notfallwiederherstellung liegt die Position120
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.