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 verzögerten Replikation mit My SQL
Sie können die verzögerte Replikation als Strategie für die Notfallwiederherstellung einsetzen. Für die verzögerte Replikation geben Sie die Mindestanzahl von Sekunden an, um welche die Replikation von der Quelle in das Lesereplikat verzögert werden soll. Wenn es zu einem Notfall kommt, weil beispielsweise eine Tabelle versehentlich gelöscht wurde, können Sie das Problem mit den folgenden Schritten schnell beheben:
-
Beenden Sie die Replikation im Lesereplikat, bevor die Änderung, die den Notfall verursacht hat, an das Lesereplikat gesendet wird.
Verwenden Sie die gespeicherte Prozedur mysql.rds_stop_replication, um die Replikation zu stoppen.
-
Starten Sie die Replikation und geben Sie an, dass die Replikation automatisch an einer bestimmten Position in der Protokolldatei stoppen soll.
Mit der gespeicherten Prozedur geben Sie eine Position unmittelbar vor Eintreten des Notfalls an.
-
Stufen Sie das Lesereplikat zur neuen Quell-DB-Instance hoch, indem Sie der Anleitung unter folge Hochstufen eines Lesereplikats zur eigenständigen DB-Instance.
Anmerkung
-
RDSBei My SQL 8.4 wird verzögerte Replikation für My SQL 8.4.3 und höher unterstützt. On RDS für My SQL 8.0 wird verzögerte Replikation für My SQL 8.0.28 und höher unterstützt. On RDS für My SQL 5.7 wird verzögerte Replikation für My SQL 5.7.44 und höher unterstützt.
-
Verwenden Sie gespeicherte Prozeduren, um die verzögerte Replikation zu konfigurieren. Sie können die verzögerte Replikation nicht mit dem AWS Management Console AWS CLI, dem oder Amazon konfigurieren RDSAPI.
-
Sie können die Replikation auf der Grundlage globaler Transaktions-Identifikatoren (GTIDs) in einer Konfiguration mit verzögerter Replikation für die folgenden Versionen verwenden:
-
RDSfür meine SQL Version 5.7.44 und höhere Versionen 5.7
-
RDSfür meine SQL Version 8.0.28 und höhere 8.0-Versionen
-
RDSfür meine SQL Version 8.4.3 und höhere 8.4-Versionen
Wenn Sie die GTID basierte Replikation verwenden, verwenden Sie die gespeicherte Prozedur anstelle der gespeicherten Prozedur. Weitere Hinweise zur GTID basierten Replikation finden Sie unterVerwenden der GTID basierten Replikation.
-
Themen
Konfigurieren der verzögerten Replikation während der Erstellung von Read Replicas
Um die verzögerte Replikation für zukünftig aus einer DB-Instance erstellte Lesereplikate zu konfigurieren, führen Sie die gespeicherte Prozedur mysql.rds_set_configuration mit dem Parameter target delay
aus.
Konfigurieren Sie die verzögerte Replikation während der Lesereplikat-Erstellung wie folgt:
-
Stellen Sie über einen My SQL Client eine Verbindung zur My SQL DB-Instance her, um als Master-Benutzer als Quelle für Read Replicas zu dienen.
-
Führen Sie die gespeicherte Prozedur mysql.rds_set_configuration mit dem Parameter
target delay
aus.Führen Sie beispielsweise die folgende gespeicherte Prozedur aus, um anzugeben, dass die Replikation um mindestens eine Stunde (3.600 Sekunden) für jedes Lesereplikat verzögert werden soll, das aus der aktuellen DB-Instance erstellt wird.
call mysql.rds_set_configuration('target delay', 3600);
Anmerkung
Nach dem Ausführen dieser gespeicherten Prozedur wird jede Read Replica, die Sie mit AWS CLI oder Amazon erstellen, so konfiguriert, dass die Replikation um die angegebene Anzahl von Sekunden verzögert RDS API wird.
Ändern der verzögerten Replikation einer vorhandenen Read Replica
Führen Sie die gespeicherte Prozedur mysql.rds_set_source_delay aus, um die verzögerte Replikation eines vorhandenen Lesereplikats zu ändern.
Ändern Sie die verzögerte Replikation eines existierenden Lesereplikats wie folgt:
-
Stellen Sie über My SQL Client eine Verbindung mit der Read Replica als Master-Benutzer her.
-
Verwenden Sie die gespeicherte Prozedur mysql.rds_stop_replication, um die Replikation zu stoppen.
-
Führen Sie die gespeicherte Prozedur mysql.rds_set_source_delay aus.
Führen Sie beispielsweise die folgende gespeicherte Prozedur aus, um anzugeben, dass die Replikation für das Lesereplikat um mindestens eine Stunde (3600 Sekunden) verzögert werden soll.
call mysql.rds_set_source_delay(3600);
-
Verwenden Sie die gespeicherte Prozedur mysql.rds_start_replication, um die Replikation zu starten.
Festlegen einer Position zum Stoppen der Replikation zu einer Read Replica
Nachdem Sie die Replikation für ein Lesereplikat gestoppt haben, können Sie die Replikation mit der gespeicherten Prozedur starten und dann an einer angegebenen Position in der Binärprotokolldatei stoppen lassen.
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 zur My SQL DB-Quellinstanz her.
-
Führen Sie die gespeicherte Prozedur 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
.
Hochstufen eines Lesereplikats
Nachdem die Replikation gestoppt wurde, können Sie in einem Szenario der Notfallwiederherstellung ein Lesereplikat zur neuen Quell-DB-Instance hochstufen. Weitere Informationen zum Hochstufen eines Lesereplikats finden Sie unter Hochstufen eines Lesereplikats zur eigenständigen DB-Instance.