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.
Konfiguriert die GTID-basierte Replikation einer MariaDB-Instance, die außerhalb von Amazon RDS ausgeführt wird, zu einer MariaDB-DB-Instance. Diese gespeicherte Prozedur wird nur unterstützt, wenn die externe MariaDB-Instance Version 10.0.24 oder höher ist. Wenn Sie die Replikation einrichten, bei der eine oder beide Instances keine globalen Transaktionskennungen (GTIDs) von MariaDB unterstützen, verwenden Sie .
Durch die Verwendung von GTIDs für die Replikation werden Absturzsicherheitsfunktionen bereitgestellt, die von der binären Protokollreplikation nicht angeboten werden. Daher empfehlen wir es in den Fällen, in denen die Replikations-Instances dies unterstützen.
Syntax
CALL mysql.rds_set_external_master_gtid(
host_name
, host_port
, replication_user_name
, replication_user_password
, gtid
, ssl_encryption
);
Parameter
- host_name
-
Zeichenfolge. Der Hostname bzw. die IP-Adresse der außerhalb von Amazon RDS ausgeführten MariaDB-Instance, die als Quell-Instance festgelegt werden soll.
- host_port
-
Ganzzahl. Der Port, der von der außerhalb von Amazon RDS ausgeführten MariaDB-Instance verwendet wird, die als Quell-Instance konfiguriert werden soll. Wenn Ihre Netzwerkkonfiguration die Replikation von SSH-Ports einschließt, welche die Portnummer konvertiert, geben Sie für diesen Parameter die von SSH offengelegte Portnummer an.
- replication_user_name
-
Zeichenfolge. Die Kennung eines Benutzers mit
REPLICATION SLAVE
-Berechtigungen in der MariaDB-DB-Instance, die als Lesereplikat konfiguriert werden soll. - replication_user_password
-
Zeichenfolge. Das zu der für den Parameter angegebenen Benutzer-Kennung gehörige Passwor
replication_user_name
. - gtid
-
Zeichenfolge. Die globale Transaktionskennung für die Quell-Instance, von der aus die Replikation gestartet werden soll.
Sie können
@@gtid_current_pos
verwenden, um die aktuelle GTID zu erhalten, wenn die Quell-Instance gesperrt wurde, während Sie die Replikation konfigurieren. Das Binärprotokoll ändert sich also nicht zwischen den Punkten, wenn Sie die GTID erhalten und wenn die Replikation startet.Andernfalls können Sie, wenn Sie
mysqldump
-Version 10.0.13 oder neuer für das Befüllen der Replikat-Instance vor der Replikation verwenden, die GTID-Position in der Ausgabe erhalten, indem Sie die Optionen--master-data
oder--dump-slave
verwenden. Wenn Siemysqldump
-Version 10.0.13 oder neuer verwenden, können SieSHOW MASTER STATUS
ausführen oder dieselbenmysqldump
-Optionen verwenden, um den Namen und die Position der Binärprotokolldatei zu erhalten und diese anschließend in eine GTID konvertieren, indem SieBINLOG_GTID_POS
auf der externen MariaDB-Instance ausführen:SELECT BINLOG_GTID_POS('<binary log file name>', <binary log file position>);
Weitere Informationen über die Implementierung von GTIDs in MariaDB finden Sie unter Global Transaction ID
in der MariaDB-Dokumentation. - ssl_encryption
-
Ein Wert, der angibt, ob die SSL-Verschlüsselung (Secure Socket Layer) für die Replikationsverbindung verwendet wird. 1 = SSL-Verschlüsselung, 0 = keine Verschlüsselung. Der Standardwert ist 0.
Anmerkung
Die Option
MASTER_SSL_VERIFY_SERVER_CERT
wird nicht unterstützt. Diese Option ist auf 0 gesetzt, was bedeutet, dass die Verbindung verschlüsselt ist, aber die Zertifikate nicht überprüft werden.
Nutzungshinweise
Die Prozedur mysql.rds_set_external_master_gtid
muss vom Hauptbenutzer ausgeführt werden. Sie muss auf der MariaDB-DB-Instance ausgeführt werden, die Sie als Replikat einer MariaDB-Instance konfigurieren, die extern zu Amazon RDS ausgeführt wird. Bevor Sie mysql.rds_set_external_master_gtid
ausführen, müssen Sie die Instance von MariaDB, die außerhalb von Amazon RDS ausgeführt wird, als Quell-Instance konfiguriert haben. Weitere Informationen finden Sie unter Importieren von Daten in eine MariaDB-DB-Instance.
Warnung
Verwenden Sie nicht mysql.rds_set_external_master_gtid
, um Replikation zwischen zwei Amazon RDS-DB-Instances zu verwalten. Verwenden Sie diese Option nur, wenn Sie mit einer MariaDB-Instance replizieren, die extern zu RDS ausgeführt wird. Informationen zur Verwaltung der Replikation zwischen Amazon RDS-DB-Instances finden Sie unter Arbeiten mit DB-Instance-Lesereplikaten.
Nachdem Sie mysql.rds_set_external_master_gtid
aufgerufen haben, um eine Amazon RDS-DB-Instance zum Verwenden als Lesereplikat zu konfigurieren, starten Sie durch Aufrufen von mysql.rds_start_replication den Replikationsvorgang für das Replikat. Zudem haben Sie die Möglichkeit, mit einem Aufruf von die Lesereplikat-Konfiguration zu entfernen.
Beim Aufrufen von mysql.rds_set_external_master_gtid
werden Uhrzeit, Benutzer und eine „set master“-Aktion von Amazon RDS in den Tabellen mysql.rds_history
und mysql.rds_replication_status
protokolliert.
Beispiele
Bei der Ausführung auf einer MariaDB-DB-Instance wird das folgende Beispiel als Replikat einer Instance von MariaDB konfiguriert, die extern zu Amazon RDS ausgeführt wird.
call mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);