Replizieren von Transaktionen mithilfe von GTIDs - Amazon Relational Database Service

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.

Replizieren von Transaktionen mithilfe von GTIDs

Die folgenden gespeicherten Verfahren steuern, wie Transaktionen mithilfe globaler Transaktionskennungen (GTIDs) mit RDS für MySQL repliziert werden. Weitere Informationen zu Replikationen basierend auf GTIDs mit RDS für MySQL finden Sie unter Verwenden der GTID-basierten Replikation.

Wenn Sie gespeicherte Verfahren verwenden, um die Replikation mit einem mit caching_sha2_password konfigurierten Replikationsbenutzer zu verwalten, müssen Sie TLS konfigurieren, indem Sie SOURCE_SSL=1 festlegen. caching_sha2_password ist das Standard-Authentifizierungs-Plugin für RDS für MySQL 8.4.

mysql.rds_skip_transaction_with_gtid

Überspringt die Replikation einer Transaktion mit der angegebenen globalen Transaktionskennung (GTID) in einer MySQL-DB-Instance.

Sie können dieses Verfahren für die Notfallwiederherstellung verwenden, wenn eine bestimmte GTID-Transaktion bekanntermaßen ein Problem verursacht. Verwenden Sie diese gespeicherte Prozedur, um die problematische Transaktion zu überspringen. Problematisch sind beispielsweise Transaktionen, die die Replikation deaktivieren, wichtige Daten löschen oder dafür sorgen, dass die DB-Instance nicht mehr verfügbar ist.

Syntax

CALL mysql.rds_skip_transaction_with_gtid ( gtid_to_skip );

Parameter

gtid_to_skip

Die GTID der zu überspringenden Replikationstransaktion.

Nutzungshinweise

Die Prozedur mysql.rds_skip_transaction_with_gtid muss vom Hauptbenutzer ausgeführt werden.

Dieses Verfahren wird für alle Versionen von RDS für MySQL 5.7, alle Versionen von RDS für MySQL 8.0 sowie alle Versionen von RDS für MySQL 8.4 unterstützt.

Beispiele

Im folgenden Beispiel wird die Replikation der Transaktion mit der GTID übersprunge 3E11FA47-71CA-11E1-9E33-C80AA9429562:23.

CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');

mysql.rds_start_replication_until_gtid

Initiiert die Replikation von einer/einem RDS-für-MySQL-DB-Instance und stoppt die Replikation unmittelbar nach der angegebenen globalen Transaktionskennung (GTID).

Syntax

CALL mysql.rds_start_replication_until_gtid(gtid);

Parameter

gtid

Die GTID, nach der die Replikation stoppen soll.

Nutzungshinweise

Die Prozedur mysql.rds_start_replication_until_gtid muss vom Hauptbenutzer ausgeführt werden.

Dieses Verfahren wird für alle Versionen von RDS für MySQL 5.7, alle Versionen von RDS für MySQL 8.0 sowie alle Versionen von RDS für MySQL 8.4 unterstützt.

Sie können diese Prozedur mit verzögerter Replikation für die Notfallwiederherstellung verwenden. Wenn Sie die verzögerte Replikation konfiguriert haben, können Sie diese Prozedur verwenden, um alle Änderungen bis zu einem Zeitpunkt unmittelbar vor Eintreten des Notfalls in einem verzögerten Lesereplikat wiederherzustellen. Nachdem diese Prozedur die Replikation gestoppt hat, können Sie das Lesereplikat zur neuen primären DB-Instance hochstufen (siehe die Anleitung unter Hochstufen eines Lesereplikats zur eigenständigen DB-Instance.

Sie können die verzögerte Replikation mit den folgenden gespeicherten Prozeduren konfigurieren:

Wenn der Parameter gtid eine Transaktion angibt, die bereits von dem Replikat ausgeführt wurde, wird die Replikation sofort gestoppt.

Beispiele

Das folgende Beispiel initiiert die Replikation und repliziert die Änderungen, bis die GTID erreicht wir 3E11FA47-71CA-11E1-9E33-C80AA9429562:23.

call mysql.rds_start_replication_until_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');