Verwalten von Aktiv/Aktiv-Clustern - 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.

Verwalten von Aktiv/Aktiv-Clustern

Mit den folgenden gespeicherten Prozeduren werden Aktiv/Aktiv-Cluster von RDS für MySQL eingerichtet und verwaltet. Weitere Informationen finden Sie unter Konfigurieren von Aktiv/Aktiv-Clustern von RDS für MySQL.

Diese gespeicherten Prozeduren sind nur für DB-Instances von RDS für MySQL verfügbar, auf denen die folgenden Versionen ausgeführt werden:

  • Alle MySQL 8.4-Versionen

  • MySQL 8.0.35 und höhere Unterversionen

mysql.rds_group_replication_advance_gtid

Erstellt Platzhalter-GTIDs für die aktuelle DB-Instance.

Syntax

CALL mysql.rds_group_replication_advance_gtid( begin_id , end_id , server_uuid );

Parameter

begin_id

Die zu erstellende Start-Transaktions-ID.

end_id

Die zu erstellende Ende-Transaktions-ID.

begin_id

Der Parameter group_replication_group_name für die zu erstellende Transaktion. Der Parameter group_replication_group_name ist als UUID in der DB-Parametergruppe angegeben, die der DB-Instance zugeordnet ist.

Nutzungshinweise

In einem Aktiv/Aktiv-Cluster müssen alle GTID-Transaktionen, die auf der neuen DB-Instance ausgeführt werden, auf den anderen Mitgliedern des Clusters vorhanden sein, damit eine DB-Instance einer Gruppe hinzugefügt werden kann. In ungewöhnlichen Situationen kann eine neue DB-Instance mehr Transaktionen haben, wenn diese ausgeführt werden, bevor die Instance der Gruppe hinzugefügt wird. In diesem Fall können Sie keine vorhandenen Transaktionen entfernen. Sie können jedoch diese Prozedur anwenden, um die entsprechenden Platzhalter-GTIDs auf den anderen DB-Instances in der Gruppe zu erstellen. Vergewissern Sie sich vorher, dass sich die Transaktionen nicht auf die replizierten Daten auswirken.

Wenn Sie diese Prozedur aufrufen, werden GTID-Transaktionen von server_uuid:begin_id-end_id mit leerem Inhalt erstellt. Um Replikationsprobleme zu vermeiden, sollten Sie diese Prozedur unter keinen anderen Bedingungen anwenden.

Wichtig

Rufen Sie diese Prozedur nicht auf, wenn der Aktiv/Aktiv-Cluster einwandfrei funktioniert. Rufen Sie diese Prozedur nur auf, wenn Sie sich der möglichen Konsequenzen der von Ihnen erstellten Transaktionen bewusst sind. Der Aufruf dieser Prozedur kann zu inkonsistenten Daten führen.

Beispiel

Im folgenden Beispiel werden Platzhalter-GTIDs für die aktuelle DB-Instance erstellt:

CALL mysql.rds_group_replication_advance_gtid(5, 6, '11111111-2222-3333-4444-555555555555');

mysql.rds_group_replication_create_user

Erstellt den Replikationsbenutzer rdsgrprepladmin für die Gruppenreplikation auf der DB-Instance.

Syntax

CALL mysql.rds_group_replication_create_user( replication_user_password );

Parameter

replication_user_password

Das Passwort des Replikationsbenutzers rdsgrprepladmin.

Nutzungshinweise

  • Das Passwort des Replikationsbenutzers rdsgrprepladmin muss auf allen DB-Instances in einem Aktiv/Aktiv-Cluster identisch sein.

  • Der Benutzername rdsgrprepladmin ist für Gruppenreplikationsverbindungen reserviert. Kein anderer Benutzer, einschließlich des Masterbenutzers, darf diesen Benutzernamen haben.

Beispiel

Im folgenden Beispiel wird der Replikationsbenutzer rdsgrprepladmin für die Gruppenreplikation auf der DB-Instance erstellt:

CALL mysql.rds_group_replication_create_user('password');

mysql.rds_group_replication_set_recovery_channel

Legt den Kanal group_replication_recovery für einen Aktiv/Aktiv-Cluster fest. Die Prozedur verwendet den reservierten Benutzer rdsgrprepladmin, um den Kanal zu konfigurieren.

Syntax

CALL mysql.rds_group_replication_set_recovery_channel( replication_user_password);

Parameter

replication_user_password

Das Passwort des Replikationsbenutzers rdsgrprepladmin.

Nutzungshinweise

Das Passwort des Replikationsbenutzers rdsgrprepladmin muss auf allen DB-Instances in einem Aktiv/Aktiv-Cluster identisch sein. Durch Aufrufen von mysql.rds_group_replication_create_user wird das Passwort festgelegt.

Beispiel

Im folgenden Beispiel wird der Kanal group_replication_recovery für einen Aktiv/Aktiv-Cluster festgelegt:

CALL mysql.rds_group_replication_set_recovery_channel('password');

mysql.rds_group_replication_start

Startet die Gruppenreplikation auf der aktuellen DB-Instance.

Syntax

CALL mysql.rds_group_replication_start( bootstrap );

Parameter

bootstrap

Dieser Wert gibt an, ob eine neue Gruppe initialisiert oder einer vorhandenen Gruppe hinzugefügt werden soll. 1 initialisiert eine neue Gruppe mit der aktuellen DB-Instance. 0 verbindet die aktuelle DB-Instance mit einer vorhandenen Gruppe, indem eine Verbindung mit den Endpunkten hergestellt wird, die im Parameter group_replication_group_seeds der DB-Parametergruppe definiert sind, die der DB-Instance zugeordnet ist.

Beispiel

Im folgenden Beispiel wird eine neue Gruppe mit der aktuellen DB-Instance initialisiert:

CALL mysql.rds_group_replication_start(1);

mysql.rds_group_replication_stop

Stoppt die Gruppenreplikation auf der aktuellen DB-Instance.

Syntax

CALL mysql.rds_group_replication_stop();

Nutzungshinweise

Wenn Sie die Replikation auf einer DB-Instance stoppen, hat dies keine Auswirkungen auf andere DB-Instances im Aktiv/Aktiv-Cluster.