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.
Konvertierung einer vorhandenen DB-Instance in einen Active-Active-Cluster
Die DB-Engine-Version der Amazon RDS for My SQL DB-Instance, die Sie zu einem Active-Active-Cluster migrieren möchten, muss My SQL 8.0.35 oder höher sein. Wenn Sie die Engine-Version aktualisieren müssen, finden Sie weitere Informationen unter. Upgrades der RDS for My SQL DB-Engine
Wenn Sie einen Active-Active-Cluster mit DB-Instances in mehr als einer einrichten, stellen Sie sicherVPC, dass Sie die Voraussetzungen unter erfüllen. Vorbereitung auf einen VPC aktivenübergreifenden aktiven Cluster
Gehen Sie wie folgt vor, um eine bestehende DB-Instance auf einen Active-Active-Cluster für for My zu migrieren. RDS SQL
Themen
- Schritt 1: Legen Sie die Active-Active-Cluster-Parameter in einer oder mehreren benutzerdefinierten Parametergruppen fest
- Schritt 2: Ordnen Sie die DB-Instance einer DB-Parametergruppe zu, für die die erforderlichen Gruppenreplikationsparameter festgelegt sind
- Schritt 3: Erstellen Sie den Active-Active-Cluster
- Schritt 4: Erstellen Sie zusätzliche Instances RDS für My SQL DB für den Active-Active-Cluster
- Schritt 5: Initialisieren Sie die Gruppe auf der DB-Instance, die Sie konvertieren
- Schritt 6: Starten Sie die Replikation auf den anderen DB-Instances im Active-Active-Cluster
- Schritt 7: (Empfohlen) Überprüfen Sie den Status des Active-Active-Clusters
Schritt 1: Legen Sie die Active-Active-Cluster-Parameter in einer oder mehreren benutzerdefinierten Parametergruppen fest
Die RDS for My SQL DB-Instances in einem Active-Active-Cluster müssen einer benutzerdefinierten Parametergruppe zugeordnet werden, die die richtigen Einstellungen für die erforderlichen Parameter hat. Informationen zu den Parametern und den jeweils erforderlichen Einstellungen finden Sie unter. Erforderliche Parametereinstellungen für Active-Active-Cluster
Sie können diese Parameter in neuen Parametergruppen oder in vorhandenen Parametergruppen festlegen. Um jedoch zu verhindern, dass versehentlich DB-Instances beeinträchtigt werden, die nicht Teil des Active-Active-Clusters sind, empfehlen wir dringend, eine neue benutzerdefinierte Parametergruppe zu erstellen. Die DB-Instances in einem aktiv-aktiven Cluster können derselben DB-Parametergruppe oder unterschiedlichen DB-Parametergruppen zugeordnet werden.
Sie können das AWS Management Console oder das verwenden AWS CLI , um eine neue benutzerdefinierte Parametergruppe zu erstellen. Weitere Informationen finden Sie unter Erstellen einer DB-Parametergruppe in Amazon RDS. Im folgenden Beispiel wird der create-db-parameter-group AWS CLI Befehl ausgeführt, um eine benutzerdefinierte DB-Parametergruppe mit dem Namen zu erstellen
:myactivepg
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
aws rds create-db-parameter-group \ --db-parameter-group-name
myactivepg
\ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters
"
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:
aws rds create-db-parameter-group ^ --db-parameter-group-name
myactivepg
^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters
"
Sie können auch das AWS Management Console oder das verwenden AWS CLI , um die Parameter in der benutzerdefinierten Parametergruppe festzulegen. Weitere Informationen finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon RDS.
Im folgenden Beispiel wird der modify-db-parameter-group AWS CLI Befehl ausgeführt, um die Parameter festzulegen:
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
aws rds modify-db-parameter-group \ --db-parameter-group-name
myactivepg
\ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555
',ApplyMethod=pending-reboot"
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:
aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='
11111111-2222-3333-4444-555555555555
',ApplyMethod=pending-reboot"
Schritt 2: Ordnen Sie die DB-Instance einer DB-Parametergruppe zu, für die die erforderlichen Gruppenreplikationsparameter festgelegt sind
Ordnen Sie die DB-Instance einer Parametergruppe zu, die Sie im vorherigen Schritt erstellt oder geändert haben. Detaillierte Anweisungen finden Sie unter Zuordnen einer DB-Parametergruppe zu einer DB-Instance in Amazon RDS Amazon.
Starten Sie die DB-Instance neu, damit die neuen Parametereinstellungen wirksam werden. Detaillierte Anweisungen finden Sie unter Neustarten einer DB-Instance.
Schritt 3: Erstellen Sie den Active-Active-Cluster
Stellen Sie in der DB-Parametergruppe, die der DB-Instance zugeordnet ist, den group_replication_group_seeds
Parameter auf den Endpunkt der DB-Instance ein, die Sie konvertieren.
Sie können das AWS Management Console oder das verwenden AWS CLI , um den Parameter festzulegen. Sie müssen die DB-Instance nicht neu starten, nachdem Sie diesen Parameter gesetzt haben. Informationen zum Festlegen von Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon RDS.
Im folgenden Beispiel wird der modify-db-parameter-group AWS CLI Befehl ausgeführt, um die Parameter festzulegen:
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
aws rds modify-db-parameter-group \ --db-parameter-group-name
myactivepg
\ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306
',ApplyMethod=immediate"
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:
aws rds modify-db-parameter-group ^ --db-parameter-group-name
myactivepg
^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306
',ApplyMethod=immediate"
Schritt 4: Erstellen Sie zusätzliche Instances RDS für My SQL DB für den Active-Active-Cluster
Um zusätzliche DB-Instances für den Active-Active-Cluster zu erstellen, führen Sie eine point-in-time Wiederherstellung auf der DB-Instance durch, die Sie konvertieren. Detaillierte Anweisungen finden Sie unter Hinzufügen einer DB-Instance zu einem aktiv-aktiven Cluster mithilfe der Wiederherstellung point-in-time.
Ein aktiv-aktiver Cluster kann bis zu neun DB-Instances haben. Führen Sie eine point-in-time Wiederherstellung auf der DB-Instance durch, bis Sie die Anzahl der DB-Instances haben, die Sie für den Cluster benötigen. Stellen Sie bei der Ausführung sicher point-in-recovery, dass Sie die DB-Instance, die Sie hinzufügen, einer DB-Parametergruppe zuordnen, für die der Wert auf rds.group_replication_enabled
festgelegt ist1
. Andernfalls wird die Gruppenreplikation auf der neu hinzugefügten DB-Instance nicht gestartet.
Schritt 5: Initialisieren Sie die Gruppe auf der DB-Instance, die Sie konvertieren
Initialisieren Sie die Gruppe und starten Sie die Replikation:
-
Stellen Sie in einem SQL Client eine Connect zu der DB-Instance her, die Sie konvertieren. Weitere Informationen zum Herstellen einer Verbindung zu einer RDS For My SQL DB-Instance finden Sie unterVerbindung zu einer DB-Instance herstellen, auf der die My SQL Database-Engine ausgeführt wird.
-
Führen Sie auf dem SQL Client die folgenden gespeicherten Prozeduren aus und ersetzen Sie
group_replication_user_password
mit dem Passwort für denrdsgrprepladmin
Benutzer. Derrdsgrprepladmin
Benutzer ist für Gruppenreplikationsverbindungen in einem Active-Active-Cluster reserviert. Das Passwort für diesen Benutzer muss auf allen DB-Instances in einem Active-Active-Cluster identisch sein.call mysql.rds_set_configuration('binlog retention hours',
168
); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password
'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password
'); call mysql.rds_group_replication_start(1);In diesem Beispiel wird der
binlog retention hours
Wert auf festgelegt168
, was bedeutet, dass binäre Protokolldateien sieben Tage lang auf der DB-Instance aufbewahrt werden. Sie können diesen Wert an Ihre Anforderungen anpassen.In diesem Beispiel wird
1
in dermysql.rds_group_replication_start
gespeicherten Prozedur angegeben, dass eine neue Gruppe mit der aktuellen DB-Instance initialisiert werden soll.Weitere Hinweise zu den im Beispiel aufgerufenen gespeicherten Prozeduren finden Sie unterVerwalten von Aktiv-Aktiv-Clustern.
Schritt 6: Starten Sie die Replikation auf den anderen DB-Instances im Active-Active-Cluster
Verwenden Sie für jede DB-Instance im Active-Active-Cluster einen SQL Client, um eine Verbindung mit der Instance herzustellen, und führen Sie die folgenden gespeicherten Prozeduren aus. Ersetzen group_replication_user_password
mit dem Passwort für den rdsgrprepladmin
Benutzer.
call mysql.rds_set_configuration('binlog retention hours',
168
); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password
'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password
'); call mysql.rds_group_replication_start(0);
In diesem Beispiel wird der binlog retention hours
Wert auf festgelegt168
, was bedeutet, dass binäre Protokolldateien auf jeder DB-Instance sieben Tage lang aufbewahrt werden. Sie können diesen Wert an Ihre Anforderungen anpassen.
In diesem Beispiel wird 0
in der mysql.rds_group_replication_start
gespeicherten Prozedur angegeben, dass die aktuelle DB-Instance einer vorhandenen Gruppe hinzugefügt werden soll.
Tipp
Stellen Sie sicher, dass Sie diese gespeicherten Prozeduren auf allen anderen DB-Instances im Active-Active-Cluster ausführen.
Schritt 7: (Empfohlen) Überprüfen Sie den Status des Active-Active-Clusters
Um sicherzustellen, dass jedes Mitglied des Clusters korrekt konfiguriert ist, überprüfen Sie den Status des Clusters, indem Sie eine Verbindung zu einer DB-Instance im Active-Active-Cluster herstellen und den folgenden Befehl ausführen: SQL
SELECT * FROM performance_schema.replication_group_members;
Ihre Ausgabe sollte ONLINE
für jede DB-Instance wie in MEMBER_STATE
der folgenden Beispielausgabe angezeigt werden:
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL |
| group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL |
| group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)
Informationen zu den möglichen MEMBER_STATE
Werten finden Sie unter Gruppenreplikations-Serverstatus