Verwenden der GTID-basierten Replikation - 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.

Verwenden der GTID-basierten Replikation

Der folgende Inhalt beschreibt, wie Sie globale Transaktionskennungen (Global Transaction Identifiers, GTIDs) mit Binärprotokoll (binlog)-Replikation zwischen einem Aurora-MySQL-Cluster und einer externen Quelle verwenden.

Anmerkung

Bei Aurora können Sie diese Funktion nur mit Aurora-MySQL-Clustern verwenden, welche die binlog-Replikation in eine externe oder aus einer externen MySQL-Datenbank nutzen. Bei der anderen Datenbank kann es sich um eine Amazon-RDS-MySQL-Instance, eine lokale MySQL-Datenbank oder einen Aurora-DB-Cluster in einer anderen AWS-Region handeln. Weitere Informationen zum Konfigurieren dieser Art von Replikation finden Sie unter Replizieren zwischen Aurora und MySQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).

Wenn Sie die binlog-Replikation verwenden und nicht mit der GTID-basierten Replikation mit MySQL vertraut sind, finden Sie unter Replication with Global Transaction Identifiers in der MySQL-Dokumentation Hintergrundinformationen.

Die GTID-basierte Replikation wird für Aurora-MySQL-Version 2 und 3 unterstützt.

Übersicht über globale Transaktionskennungen (GTIDs)

Globale Transaktionskennungen (GTIDs) sind eindeutige IDs, die für festgeschriebene MySQL-Transaktionen generiert werden. Sie können GTIDs verwenden, um die Fehlerbehebung für die binlog-Replikation zu erleichtern.

Anmerkung

Wenn Aurora Daten unter den DB-Instances in einem Cluster synchronisiert, steht dieser Replikationsmechanismus in keinem Zusammenhang mit dem Binärprotokoll (binlog). Bei Aurora MySQL ist die GTID-basierte Replikation nur anwendbar, wenn Sie auch eine binlog-Replikation verwenden, um eine Replikation aus einer externen MySQL-kompatiblen Datenbank in einen oder aus einem Aurora MySQL-DB-Cluster durchführen.

MySQL verwendet für die binlog-Replikation zwei verschiedene Arten von Transaktionen:

  • GTID-Transaktionen – Transaktionen, die durch eine GTID gekennzeichnet sind.

  • Anonyme Transaktionen – Transaktionen, denen keine GTID zugeordnet ist.

In einer Replikationskonfiguration sind GTIDs bei allen DB-Instances eindeutig. GTIDs vereinfachen die Replikationskonfiguration, weil Sie nicht auf die Protokolldateipositionen verweisen müssen, wenn Sie diese verwenden. GTIDs erleichtern das Verfolgen von replizierten Transaktionen und legen fest, ob die Quell-Instance und Replikate konsistent sind.

Sie verwenden die GTID-basierte Replication gewöhnlich mit Aurora, wenn Sie eine Replikation aus einer externen MySQL-kompatiblen Datenbank in einen Aurora-Cluster durchführen. Sie können diese Replikationskonfiguration als Teil einer Migration von einer lokalen oder einer Amazon-RDS-Datenbank in Aurora MySQL einrichten. Wenn die externe Datenbank bereits GTIDs verwendet, kann der Replikationsvorgang durch Aktivieren der GTID-basierten Replikation für den Aurora-Cluster vereinfacht werden.

Sie konfigurieren die GTID-basierte Replikation für einen Aurora MySQL-Cluster, indem Sie zuerst die relevanten Konfigurationsparameter in einer DB-Clusterparametergruppe festlegen. Sie ordnen diese Parametergruppe dann dem Cluster zu.

Parameter für die GTID-basierte Replikation

Mit den folgenden Parametern konfigurieren Sie die GTID-basierte Replikation.

Parameter Zulässige Werte Beschreibung

gtid_mode

OFF, OFF_PERMISSIVE, ON_PERMISSIVE, ON

OFF gibt an, dass neue Transaktionen anonyme Transaktionen sind (d. h. keine GTIDs haben). Eine Transaktion muss anonym sein, um repliziert werden zu können.

OFF_PERMISSIVE gibt an, dass neue Transaktionen anonyme Transaktionen sind und alle Transaktionen repliziert werden können.

ON_PERMISSIVE gibt an, dass neue Transaktionen GTID-Transaktionen sind und alle Transaktionen repliziert werden können.

ON gibt an, dass neue Transaktionen GTID-Transaktionen sind. Eine Transaktion muss eine GTID-Transaktion sein, um repliziert zu werden.

enforce_gtid_consistency

OFF, ON, WARN

OFF erlaubt es Transaktionen, gegen die GTID-Konsistenz zu verstoßen.

ON verhindert das Verstoßen von Transaktionen gegen die GTID-Konsistenz.

WARN erlaubt es Transaktionen, gegen die GTID-Konsistenz zu verstoßen, generiert aber eine Warnung, wenn ein Verstoß auftritt.

Anmerkung

In der AWS-Managementkonsole erscheint der Parameter gtid_mode als gtid-mode.

Bei einer GTID-basierten Replikation verwenden Sie diese Einstellungen für die DB-Cluster-Parametergruppe für Ihren Aurora MySQL-DB-Cluster:

  • ON und ON_PERMISSIVE gelten nur für die ausgehende Replikation von einem Aurora-MySQL-Cluster. Beide Werte bewirken, dass Ihr Aurora-DB-Cluster GTIDs für Transaktionen verwenden, die zu einer externen Datenbank repliziert werden. ON erfordert, dass die externe Datenbank ebenfalls die GTID-basierte Replikation verwendet. Mit ON_PERMISSIVE ist die GTID-basierte Replikation auf der externen Datenbank optional.

  • Wenn OFF_PERMISSIVE eingestellt ist, bedeutet dies, dass Ihr Aurora-DB-Cluster die eingehende Replikation von einer externen Datenbank akzeptieren kann. Dies ist ungeachtet davon möglich, ob die externe Datenbank eine GTID-basierte Replikation verwendet oder ob nicht.

  • Wenn OFF eingestellt ist, bedeutet dies, dass Ihr Aurora-DB-Cluster nur eingehende Replikation von externen Datenbanken akzeptiert, die keine GTID-basierte Replikation verwenden.

Tipp

Eingehende Replikation ist das geläufigste binlog-Replikationsszenario für Aurora MySQL-Cluster. Für eine eingehende Replikation empfehlen wir, dass Sie den GTID-Modus auf einzustelle OFF_PERMISSIVE. Diese Einstellung ermöglicht eine eingehende Replikation aus externen Datenbanken ungeachtete der GTID-Einstellungen an der Replikationsquelle.

Weitere Informationen zu Parametergruppen finden Sie unter Parametergruppen für Amazon Aurora.