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.
Konfiguration, Starten und Stoppen der Binärprotokollreplikation (Binlog)
Sie können die folgenden gespeicherten Prozeduren aufrufen, während Sie mit der primären Instance in einem Aurora SQL My-Cluster verbunden sind. Diese Verfahren steuern, wie Transaktionen von einer externen Datenbank in Aurora My oder von Aurora My SQL SQL in eine externe Datenbank repliziert werden.
Themen
- mysql.rds_disable_session_binlog (Aurora Meine Version 2) SQL
- mysql.rds_enable_session_binlog (Aurora Meine Version 2) SQL
- mysql.rds_import_binlog_ssl_material
- mysql.rds_next_master_log (Aurora Meine Version 2) SQL
- mysql.rds_next_source_log (Aurora Meine Version 3) SQL
- mysql.rds_remove_binlog_ssl_material
- mysql.rds_reset_external_master (Aurora Meine Version 2) SQL
- mysql.rds_reset_external_source (Aurora Meine Version 3) SQL
- mysql.rds_set_binlog_source_ssl (Aurora Meine Version 3) SQL
- mysql.rds_set_external_master (Aurora Meine Version 2) SQL
- mysql.rds_set_external_master_with_auto_position (Aurora Meine Version 2) SQL
- mysql.rds_set_external_source (Aurora Meine Version 3) SQL
- mysql.rds_set_external_source_with_auto_position (Aurora Meine Version 3) SQL
- mysql.rds_set_master_auto_position (Aurora Meine Version 2) SQL
- mysql.rds_set_read_only (Aurora Meine Version 3) SQL
- mysql.rds_set_session_binlog_format (Aurora Meine Version 2) SQL
- mysql.rds_set_source_auto_position (Aurora Meine Version 3) SQL
- mysql.rds_skip_repl_error
- mysql.rds_start_replication
- mysql.rds_start_replication_until (Aurora Meine Version 3) SQL
- mysql.rds_stop_replication
mysql.rds_disable_session_binlog (Aurora Meine Version 2) SQL
Deaktiviert die binäre Protokollierung für die aktuelle Sitzung, indem die Variable sql_log_bin
auf OFF
festgelegt wird.
Syntax
CALL mysql.rds_disable_session_binlog;
Parameter
None
Nutzungshinweise
Für einen Aurora My SQL DB-Cluster rufen Sie diese gespeicherte Prozedur auf, während Sie mit der primären Instance verbunden sind.
Für Aurora wird dieses Verfahren für Aurora My SQL Version 2.12 und höhere My SQL 5.7-kompatible Versionen unterstützt.
Anmerkung
In Aurora My SQL Version 3 können Sie den folgenden Befehl verwenden, um die Binärprotokollierung für die aktuelle Sitzung zu deaktivieren, sofern Sie dazu berechtigt SESSION_VARIABLES_ADMIN
sind:
SET SESSION sql_log_bin = OFF;
mysql.rds_enable_session_binlog (Aurora Meine Version 2) SQL
Aktiviert die binäre Protokollierung für die aktuelle Sitzung, indem die Variable sql_log_bin
auf ON
festgelegt wird.
Syntax
CALL mysql.rds_enable_session_binlog;
Parameter
None
Nutzungshinweise
Für einen Aurora My SQL DB-Cluster rufen Sie diese gespeicherte Prozedur auf, während Sie mit der primären Instance verbunden sind.
Für Aurora wird dieses Verfahren für Aurora My SQL Version 2.12 und höhere My SQL 5.7-kompatible Versionen unterstützt.
Anmerkung
In Aurora My SQL Version 3 können Sie den folgenden Befehl verwenden, um die binäre Protokollierung für die aktuelle Sitzung zu aktivieren, sofern Sie die entsprechenden SESSION_VARIABLES_ADMIN
Rechte haben:
SET SESSION sql_log_bin = ON;
mysql.rds_import_binlog_ssl_material
Importiert das Zertifikat der Zertifizierungsstelle, das Client-Zertifikat und den Client-Schlüssel in einen Aurora . Die Informationen werden für die SSL Kommunikation und die verschlüsselte Replikation benötigt.
Anmerkung
Derzeit wird dieses Verfahren für Aurora My SQL Version 2:2.09.2, 2.10.0, 2.10.1 und 2.11.0 sowie Version 3:3.01.1 und höher unterstützt.
Syntax
CALL mysql.rds_import_binlog_ssl_material (
ssl_material
);
Parameter
-
ssl_material
-
JSONPayload, die den Inhalt der folgenden Dateien im .pem-Format für einen My-Client enthält: SQL
-
„ssl_ca“:“
Certificate authority certificate
" -
„ssl_cert“:“
Client certificate
" -
„ssl_key“:“
Client key
"
-
Nutzungshinweise
Bereiten Sie die verschlüsselte Replikation vor, bevor Sie diese Schritte durchführen:
-
Wenn Sie die SSL Option auf der externen Meine SQL Quelldatenbank-Instance nicht aktiviert haben und auch keinen Client-Schlüssel und kein Client-Zertifikat vorbereitet haben, aktivieren Sie es SSL auf dem My SQL Database-Server und generieren Sie den erforderlichen Client-Schlüssel und das Client-Zertifikat.
-
Wenn auf der externen Quelldatenbank-Instance aktiviert SSL ist, geben Sie einen Client-Schlüssel und ein Zertifikat für den Aurora My SQL DB-Cluster an. Wenn Sie diese nicht haben, generieren Sie einen neuen Schlüssel und ein neues Zertifikat für den Aurora My SQL DB-Cluster. Um das Client-Zertifikat zu signieren, benötigen Sie den Zertifizierungsstellenschlüssel, den Sie für die Konfiguration SSL auf der externen My SQL Source Database-Instance verwendet haben.
Weitere Informationen finden Sie unter Erstellen von SSL Zertifikaten und Schlüsseln mithilfe von OpenSSL
Wichtig
Nachdem Sie sich auf die verschlüsselte Replikation vorbereitet haben, verwenden Sie eine SSL Verbindung, um dieses Verfahren auszuführen. Der Clientschlüssel darf nicht über eine unsichere Verbindung übertragen werden.
Dieses Verfahren importiert SSL Informationen aus einer externen SQL My-Datenbank in einen Aurora My SQL DB-Cluster. Die SSL Informationen liegen in Dateien im PEM-Format vor, die die SSL Informationen für den Aurora My SQL DB-Cluster enthalten. Während der verschlüsselten Replikation fungiert der Aurora My SQL DB-Cluster als Client für den My SQL Database-Server. Die Zertifikate und Schlüssel für den Aurora My SQL Client liegen in Dateien im PEM-Format vor.
Sie können die Informationen aus diesen Dateien in den ssl_material
Parameter in der richtigen JSON Payload kopieren. Um die verschlüsselte Replikation zu unterstützen, importieren Sie diese SSL Informationen in den Aurora My SQL DB-Cluster.
Die JSON Payload muss das folgende Format haben.
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
ssl_ca_pem_body_code
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----ssl_cert_pem_body_code
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----ssl_key_pem_body_code
-----END RSA PRIVATE KEY-----\n"}'
Beispiele
Das folgende Beispiel importiert SSL Informationen in eine Aurora My SQL. Der Code in den PEM-Dateien ist in der Regel länger als in diesem Beispiel.
call mysql.rds_import_binlog_ssl_material( '{"ssl_ca":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END RSA PRIVATE KEY-----\n"}');
mysql.rds_next_master_log (Aurora Meine Version 2) SQL
Ändert die Protokollposition der Quelldatenbankinstance in den Anfang des nächsten Binärprotokolls auf der Quelldatenbankinstance. Verwenden Sie diese Prozedur nur dann, wenn Sie für ein Lesereplikat bei der Replikation einen I/O-Fehler mit der Fehlernummer 1236 erhalten.
Syntax
CALL mysql.rds_next_master_log(
curr_master_log
);
Parameter
-
curr_master_log
-
Der Index der aktuellen Master-Protokolldatei. Der Index ist im Dateinamen codiert. Eine aktuelle Datei mit dem Namen
mysql-bin-changelog.012345
hat beispielsweise den Index 12345. Um den Namen der aktuellen Master-Protokolldatei zu ermitteln, führen Sie den BefehlSHOW REPLICA STATUS
aus. Sie finden den Namen anschließend im FeldMaster_Log_File
.Anmerkung
Frühere SQL Versionen von My wurden anstelle von verwendet
SHOW SLAVE STATUS
.SHOW REPLICA STATUS
Wenn Sie eine SQL Version von My vor 8.0.23 verwenden, verwenden Sie.SHOW SLAVE STATUS
Nutzungshinweise
Die Prozedur mysql.rds_next_master_log
muss vom Hauptbenutzer ausgeführt werden.
Warnung
mysql.rds_next_master_log
sollte nur dann aufgerufen werden, wenn die Replikation nach einem Failover einer als Replikationsquelle fungierenden Multi-AZ-DB-Instance fehlschlägt und das Feld Last_IO_Errno
im von SHOW REPLICA STATUS
zurückgegebenen Ergebnis einen I/O-Fehler mit der Nummer 1236 meldet.
Ein Aufruf von mysql.rds_next_master_log
kann zu Datenverlust im Lesereplikat führen, falls Transaktionen in der Quell-Instance nicht in das binäre Protokoll auf der Festplatte geschrieben wurden, bevor das Failover-Ereignis auftrat.
Beispiele
Gehen Sie davon aus, dass die Replikation auf einer Aurora My SQL Read Replica fehlschlägt. Die Ausführung von SHOW REPLICA STATUS\G
für das Lesereplikat gibt das folgende Ergebnis zurück:
*************************** 1. row *************************** Replica_IO_State: Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: MasterUser Source_Port: 3306 Connect_Retry: 10 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Source_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Source_SSL_Allowed: No Source_SSL_CA_File: Source_SSL_CA_Path: Source_SSL_Cert: Source_SSL_Cipher: Source_SSL_Key: Seconds_Behind_Master: NULL Source_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Source_Server_Id: 67285976
Den Angeben im Feld Last_IO_Errno
ist zu entnehmen, dass die Instance eine I/O-Fehlermeldung mit der Nummer 1236 erhalten hat. Dem Feld Master_Log_File
ist zudem zu entnehmen, dass die betroffene Protokolldatei den Namen mysql-bin-changelog.012345
aufweist und ihr Index folglich 12345
lautet. Zur Behebung des Fehlers können Sie dann mysql.rds_next_master_log
mit dem folgenden Parameter aufrufen:
CALL mysql.rds_next_master_log(12345);
Anmerkung
Frühere Versionen von My SQL wurden SHOW SLAVE STATUS
anstelle von SHOW REPLICA STATUS
verwendet. Wenn Sie eine SQL Version von My vor 8.0.23 verwenden, verwenden Sie. SHOW SLAVE STATUS
mysql.rds_next_source_log (Aurora Meine Version 3) SQL
Ändert die Protokollposition der Quelldatenbankinstance in den Anfang des nächsten Binärprotokolls auf der Quelldatenbankinstance. Verwenden Sie diese Prozedur nur dann, wenn Sie für ein Lesereplikat bei der Replikation einen I/O-Fehler mit der Fehlernummer 1236 erhalten.
Syntax
CALL mysql.rds_next_source_log(
curr_source_log
);
Parameter
-
curr_source_log
-
Der Index der aktuellen Quell-Protokolldatei. Der Index ist im Dateinamen codiert. Eine aktuelle Datei mit dem Namen
mysql-bin-changelog.012345
hat beispielsweise den Index 12345. Um den Namen der aktuellen Quell-Protokolldatei zu ermitteln, führen Sie den BefehlSHOW REPLICA STATUS
aus. Sie finden den Namen anschließend im FeldSource_Log_File
.
Nutzungshinweise
Die Prozedur mysql.rds_next_source_log
muss vom Hauptbenutzer ausgeführt werden.
Warnung
mysql.rds_next_source_log
sollte nur dann aufgerufen werden, wenn die Replikation nach einem Failover einer als Replikationsquelle fungierenden Multi-AZ-DB-Instance fehlschlägt und das Feld Last_IO_Errno
im von SHOW REPLICA STATUS
zurückgegebenen Ergebnis einen I/O-Fehler mit der Nummer 1236 meldet.
Ein Aufruf von mysql.rds_next_source_log
kann zu Datenverlust im Lesereplikat führen, falls Transaktionen in der Quell-Instance nicht in das binäre Protokoll auf der Festplatte geschrieben wurden, bevor das Failover-Ereignis auftrat.
Beispiele
Gehen Sie davon aus, dass die Replikation auf einer Aurora My SQL Read Replica fehlschlägt. Die Ausführung von SHOW REPLICA STATUS\G
für das Lesereplikat gibt das folgende Ergebnis zurück:
*************************** 1. row *************************** Replica_IO_State: Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: MasterUser Source_Port: 3306 Connect_Retry: 10 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Source_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Source_SSL_Allowed: No Source_SSL_CA_File: Source_SSL_CA_Path: Source_SSL_Cert: Source_SSL_Cipher: Source_SSL_Key: Seconds_Behind_Source: NULL Source_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 'Client requested source to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Source_Server_Id: 67285976
Den Angeben im Feld Last_IO_Errno
ist zu entnehmen, dass die Instance eine I/O-Fehlermeldung mit der Nummer 1236 erhalten hat. Dem Feld Source_Log_File
ist zudem zu entnehmen, dass die betroffene Protokolldatei den Namen mysql-bin-changelog.012345
aufweist und ihr Index folglich 12345
lautet. Zur Behebung des Fehlers können Sie dann mysql.rds_next_source_log
mit dem folgenden Parameter aufrufen:
CALL mysql.rds_next_source_log(12345);
mysql.rds_remove_binlog_ssl_material
Entfernt das Zertifikat der Zertifizierungsstelle, das Client-Zertifikat und den Client-Schlüssel für die SSL Kommunikation und die verschlüsselte Replikation. Diese Informationen werden mit importier mysql.rds_import_binlog_ssl_material.
Syntax
CALL mysql.rds_remove_binlog_ssl_material;
mysql.rds_reset_external_master (Aurora Meine Version 2) SQL
Konfiguriert eine My SQL DB-Instance Aurora neu, sodass sie keine Read Replica einer My-Instance mehr ist, die außerhalb von SQL Amazon ausgeführt wird. RDS
Wichtig
Um diese Prozedur auszuführen, muss autocommit
aktiviert sein. Um dies zu aktivieren, setzen Sie den autocommit
-Parameter auf 1
. Weitere Informationen zum Ändern von Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon Aurora.
Syntax
CALL mysql.rds_reset_external_master;
Nutzungshinweise
Die Prozedur mysql.rds_reset_external_master
muss vom Hauptbenutzer ausgeführt werden. Dieses Verfahren muss auf der My SQL DB-Instance ausgeführt werden, die als Read Replica einer SQL My-Instance entfernt werden soll, die außerhalb von Amazon RDS ausgeführt wird.
Anmerkung
Wir bieten diese gespeicherten Prozeduren hauptsächlich an, um die Replikation mit SQL My-Instances zu ermöglichen, die außerhalb von Amazon ausgeführt RDS werden. Wir empfehlen, dass Sie nach Möglichkeit Aurora Replicas verwenden, um die Replikation innerhalb eines Aurora My SQL DB-Clusters zu verwalten. Informationen zur Verwaltung der Replikation in Aurora My SQL DB-Clustern finden Sie unterVerwendung von Aurora-Replicas.
Weitere Informationen zur Verwendung der Replikation zum Importieren von Daten aus einer My-Instanz, die außerhalb von Aurora My SQL ausgeführt wirdSQL, finden Sie unterReplikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).
mysql.rds_reset_external_source (Aurora Meine Version 3) SQL
Konfiguriert eine My SQL DB-Instance Aurora neu, sodass sie keine Read Replica einer My-Instance mehr ist, die außerhalb von SQL Amazon ausgeführt wird. RDS
Wichtig
Um diese Prozedur auszuführen, muss autocommit
aktiviert sein. Um dies zu aktivieren, setzen Sie den autocommit
-Parameter auf 1
. Weitere Informationen zum Ändern von Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon Aurora.
Syntax
CALL mysql.rds_reset_external_source;
Nutzungshinweise
Die Prozedur mysql.rds_reset_external_source
muss vom Hauptbenutzer ausgeführt werden. Dieses Verfahren muss auf der My SQL DB-Instance ausgeführt werden, die als Read Replica einer SQL My-Instance entfernt werden soll, die außerhalb von Amazon RDS ausgeführt wird.
Anmerkung
Wir bieten diese gespeicherten Prozeduren hauptsächlich an, um die Replikation mit SQL My-Instances zu ermöglichen, die außerhalb von Amazon ausgeführt RDS werden. Wir empfehlen, dass Sie nach Möglichkeit Aurora Replicas verwenden, um die Replikation innerhalb eines Aurora My SQL DB-Clusters zu verwalten. Informationen zur Verwaltung der Replikation in Aurora My SQL DB-Clustern finden Sie unterVerwendung von Aurora-Replicas.
mysql.rds_set_binlog_source_ssl (Aurora Meine Version 3) SQL
Aktiviert die SOURCE_SSL
Verschlüsselung für die Binlog-Replikation. Weitere Informationen finden Sie in der SQL Dokumentation CHANGEREPLICATIONSOURCEzu My unter TO statement
Syntax
CALL mysql.rds_set_binlog_source_ssl(
mode
);
Parameter
mode
-
Ein Wert, der angibt, ob die
SOURCE_SSL
Verschlüsselung aktiviert ist:-
0
— DieSOURCE_SSL
Verschlüsselung ist deaktiviert. Der Standardwert ist0
. -
1
—SOURCE_SSL
Verschlüsselung ist aktiviert. Sie können die Verschlüsselung mit SSL oder konfigurierenTLS.
-
Nutzungshinweise
Dieses Verfahren wird für Aurora My SQL Version 3.06 und höher unterstützt.
mysql.rds_set_external_master (Aurora Meine Version 2) SQL
Konfiguriert eine DB-Instance als Read Replica einer My-Instance, die außerhalb von Amazon SQL ausgeführt wird. RDS
Das mysql.rds_set_external_master
-Verfahren ist veraltet und wird in einer künftigen Version entfernt. Verwenden Sie stattdessen mysql.rds_set_external_source
.
Wichtig
Um diese Prozedur auszuführen, muss autocommit
aktiviert sein. Um dies zu aktivieren, setzen Sie den autocommit
-Parameter auf 1
. Weitere Informationen zum Ändern von Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon Aurora.
Syntax
CALL mysql.rds_set_external_master (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
);
Parameter
-
host_name
-
Der Hostname oder die IP-Adresse der SQL My-Instance, die außerhalb von Amazon ausgeführt wird und die Quelldatenbank-Instance werden RDS soll.
-
host_port
-
Der Port, der von der SQL My-Instance verwendet wird, die außerhalb von Amazon ausgeführt wirdRDS, um als Quelldatenbank-Instance konfiguriert zu werden. Wenn Ihre Netzwerkkonfiguration eine Secure Shell (SSH) -Portreplikation beinhaltet, die die Portnummer konvertiert, geben Sie die Portnummer an, die von verfügbar gemacht wirdSSH.
-
replication_user_name
-
Die ID eines Benutzers mit
REPLICATION CLIENT
undREPLICATION SLAVE
Berechtigungen für die My SQL Instance, die außerhalb von Amazon ausgeführt wirdRDS. Es wird empfohlen, ein Benutzerkonto bereitzustellen, das ausschließlich für die Replikation mit der externen Instance genutzt wird. -
replication_user_password
-
Das zu dem in
replication_user_name
angegebenen User-ID gehörige Passwort. -
mysql_binary_log_file_name
-
Der Name des Binärprotokolls auf der Quelldatenbank-Instance, die die Replikationsinformationen enthält.
-
mysql_binary_log_file_location
-
Die Position in der binären Protokolldatei
mysql_binary_log_file_name
, ab der bei der Replikation die Replikationsinformationen gelesen werden.Sie können den Namen und den Speicherort der Binlog-Datei ermitteln, indem Sie
SHOW MASTER STATUS
auf der Quelldatenbankinstanz starten. -
ssl_encryption
-
Ein Wert, der angibt, ob die Secure Socket Layer (SSL) -Verschlüsselung für die Replikationsverbindung verwendet wird. 1 gibt an, dass SSL Verschlüsselung verwendet wird, 0 gibt an, dass keine Verschlüsselung verwendet wird. 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
muss vom Hauptbenutzer ausgeführt werden. Dieses Verfahren muss auf der My SQL DB-Instance ausgeführt werden, die als Read Replica einer My SQL Instance konfiguriert werden soll, die außerhalb von Amazon RDS ausgeführt wird.
Vor der Ausführung mysql.rds_set_external_master
müssen Sie die Instance von My SQL running external RDS to Amazon als Quelldatenbank-Instance konfigurieren. Um eine Verbindung mit der SQL My-Instance herzustellen, die außerhalb von Amazon ausgeführt wirdRDS, müssen Sie replication_user_password
Werte angebenreplication_user_name
, die auf einen Replikationsbenutzer hinweisen, der über REPLICATION SLAVE
Berechtigungen für die externe Instance von My verfügt REPLICATION CLIENT
SQL.
Um eine externe Instance von My SQL als Quelldatenbank-Instance zu konfigurieren
Stellen Sie mit dem SQL My-Client Ihrer Wahl eine Verbindung zur externen Instanz von My her SQL und erstellen Sie ein Benutzerkonto, das für die Replikation verwendet werden soll. Im Folgenden wird ein Beispiel gezeigt.
Mein SQL 5.7
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Meine SQL 8,0
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '
password
';Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
-
REPLICATION CLIENT
Erteilen Sie Ihrem Replikationsbenutzer auf der externen Instanz von My SQLREPLICATION SLAVE
Rechte. Im folgenden Beispiel werden dem Benutzer 'repl_user' für Ihre Domäne die BerechtigungenREPLICATION CLIENT
undREPLICATION SLAVE
für alle Datenbanken erteilt.Mein SQL 5.7
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Meine SQL 8,0
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
Um die verschlüsselte Replikation zu verwenden, konfigurieren Sie die Quelldatenbank-Instance für die Verwendung von SSL Verbindungen. Importieren Sie außerdem mit der Prozedur mysql.rds_import_binlog_ssl_material das Zertifizierungsstellenzertifikat, das Clientzertifikat und den Clientschlüssel in die DB-Instance bzw. das DB-Cluster.
Anmerkung
Wir bieten diese gespeicherten Prozeduren hauptsächlich an, um die Replikation mit SQL My-Instances zu ermöglichen, die außerhalb von Amazon ausgeführt RDS werden. Wir empfehlen, dass Sie nach Möglichkeit Aurora Replicas verwenden, um die Replikation innerhalb eines Aurora My SQL DB-Clusters zu verwalten. Informationen zur Verwaltung der Replikation in Aurora My SQL DB-Clustern finden Sie unterVerwendung von Aurora-Replicas.
Nach dem Aufruf mysql.rds_set_external_master
zur Konfiguration einer Amazon RDS DB-Instance als Read Replica können Sie die Read Replica aufrufenmysql.rds_start_replication, um den Replikationsprozess zu starten. Zudem haben Sie die Möglichkeit, mit einem Aufruf von mysql.rds_reset_external_master (Aurora Meine Version 2) SQL die Lesereplikat-Konfiguration zu entfernen.
Wenn aufgerufen mysql.rds_set_external_master
wird, RDS zeichnet Amazon die Uhrzeit, den Benutzer und eine Aktion von set master
in den mysql.rds_replication_status
Tabellen mysql.rds_history
und auf.
Beispiele
Wenn sie auf einer My SQL DB-Instance ausgeführt wird, konfiguriert das folgende Beispiel die DB-Instance so, dass sie eine Read Replica einer Instance von My ist, die außerhalb von Amazon SQL läuft. RDS
call mysql.rds_set_external_master( 'Externaldb.some.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0);
mysql.rds_set_external_master_with_auto_position (Aurora Meine Version 2) SQL
Konfiguriert eine Aurora My SQL Primary Instance so, dass eingehende Replikation von einer externen My SQL Instance akzeptiert wird. Bei diesem Verfahren wird auch die Replikation auf der Grundlage globaler Transaktions-Identifikatoren () konfiguriert. GTIDs
Bei diesem Verfahren wird keine verzögerte Replikation konfiguriert, da Aurora My die verzögerte Replikation SQL nicht unterstützt.
Syntax
CALL mysql.rds_set_external_master_with_auto_position (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
);
Parameter
host_name
-
Der Hostname oder die IP-Adresse der SQL My-Instance, die außerhalb von Aurora ausgeführt wird und die Replikationsquelle werden soll.
host_port
-
Der Port, der von der SQL My-Instance verwendet wird, die außerhalb von Aurora ausgeführt wird und als Replikationsquelle konfiguriert werden soll. Wenn Ihre Netzwerkkonfiguration die Secure Shell (SSH) -Portreplikation beinhaltet, die die Portnummer konvertiert, geben Sie die Portnummer an, die von verfügbar gemacht wirdSSH.
replication_user_name
-
Die ID eines Benutzers mit
REPLICATION CLIENT
undREPLICATION SLAVE
Berechtigungen für die My SQL Instance, die außerhalb von Aurora ausgeführt wird. Es wird empfohlen, ein Benutzerkonto bereitzustellen, das ausschließlich für die Replikation mit der externen Instance genutzt wird. replication_user_password
-
Das zu dem in
replication_user_name
angegebenen User-ID gehörige Passwort. ssl_encryption
-
Diese Option ist derzeit nicht implementiert. Der Standardwert ist 0.
Nutzungshinweise
Für einen Aurora My SQL DB-Cluster rufen Sie diese gespeicherte Prozedur auf, während Sie mit der primären Instance verbunden sind.
Die Prozedur mysql.rds_set_external_master_with_auto_position
muss vom Hauptbenutzer ausgeführt werden. Der Master-Benutzer führt dieses Verfahren auf der primären Instance eines Aurora My SQL DB-Clusters aus, das als Replikationsziel fungiert. Dies kann das Replikationsziel einer externen My SQL DB-Instance oder eines Aurora My SQL DB-Clusters sein.
Dieses Verfahren wird für Aurora My SQL Version 2 unterstützt. Verwenden Sie für Aurora My SQL Version 3 mysql.rds_set_external_source_with_auto_position (Aurora Meine Version 3) SQL stattdessen das Verfahren.
Konfigurieren Sie vor der Ausführung mysql.rds_set_external_master_with_auto_position
die externe My SQL DB-Instance als Replikationsquelle. Um eine Verbindung mit der externen My SQL Instance herzustellen, geben Sie Werte für replication_user_name
und anreplication_user_password
. Diese Werte müssen einen Replikationsbenutzer angeben, der über REPLICATION SLAVE
Berechtigungen für die externe SQL My-Instanz verfügtREPLICATION CLIENT
.
Um eine externe SQL My-Instanz als Replikationsquelle zu konfigurieren
-
Stellen Sie mit dem My SQL Client Ihrer Wahl eine Verbindung zur externen SQL My-Instanz her und erstellen Sie ein Benutzerkonto, das für die Replikation verwendet werden soll. Im Folgenden wird ein Beispiel gezeigt.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
-
REPLICATION CLIENT
Erteilen Sie Ihrem Replikationsbenutzer auf der externen My SQL InstanceREPLICATION SLAVE
Berechtigungen. Im folgenden Beispiel werden dem BenutzerREPLICATION CLIENT
für Ihre Domäne die BerechtigungenREPLICATION SLAVE
und'repl_user'
für alle Datenbanken erteilt.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
Wenn Sie anrufenmysql.rds_set_external_master_with_auto_position
, RDS zeichnet Amazon bestimmte Informationen auf. Diese Informationen umfassen die Zeit, den Benutzer und eine Aktion von "set master"
in den Tabellen mysql.rds_history
und mysql.rds_replication_status
.
Um eine bestimmte GTID Transaktion zu überspringen, von der bekannt ist, dass sie ein Problem verursacht, können Sie die mysql.rds_skip_transaction_with_gtid (Aurora My Version 2 und 3) SQL gespeicherte Prozedur verwenden. Weitere Hinweise zur Arbeit mit der GTID basierten Replikation finden Sie unterVerwenden der GTID-basierten Replikation.
Beispiele
Bei Ausführung auf einer primären Aurora-Instance konfiguriert das folgende Beispiel den Aurora-Cluster so, dass er als Read Replica einer Instance von My fungiert, die außerhalb von Aurora SQL ausgeführt wird.
call mysql.rds_set_external_master_with_auto_position( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd');
mysql.rds_set_external_source (Aurora Meine Version 3) SQL
Konfiguriert eine Aurora My SQL DB-Instance als Read Replica einer My-Instance, die außerhalb von SQL Amazon läuft. RDS
Wichtig
Um diese Prozedur auszuführen, muss autocommit
aktiviert sein. Um dies zu aktivieren, setzen Sie den autocommit
-Parameter auf 1
. Weitere Informationen zum Ändern von Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon Aurora.
Syntax
CALL mysql.rds_set_external_source (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
);
Parameter
-
host_name
-
Der Hostname oder die IP-Adresse der SQL My-Instance, die außerhalb von Amazon ausgeführt wird und die Quelldatenbank-Instance werden RDS soll.
-
host_port
-
Der Port, der von der SQL My-Instance verwendet wird, die außerhalb von Amazon ausgeführt wirdRDS, um als Quelldatenbank-Instance konfiguriert zu werden. Wenn Ihre Netzwerkkonfiguration eine Secure Shell (SSH) -Portreplikation beinhaltet, die die Portnummer konvertiert, geben Sie die Portnummer an, die von verfügbar gemacht wirdSSH.
-
replication_user_name
-
Die ID eines Benutzers mit
REPLICATION CLIENT
undREPLICATION SLAVE
Berechtigungen für die My SQL Instance, die außerhalb von Amazon ausgeführt wirdRDS. Es wird empfohlen, ein Benutzerkonto bereitzustellen, das ausschließlich für die Replikation mit der externen Instance genutzt wird. -
replication_user_password
-
Das zu dem in
replication_user_name
angegebenen User-ID gehörige Passwort. -
mysql_binary_log_file_name
-
Der Name des Binärprotokolls auf der Quelldatenbank-Instance, die die Replikationsinformationen enthält.
-
mysql_binary_log_file_location
-
Die Position in der binären Protokolldatei
mysql_binary_log_file_name
, ab der bei der Replikation die Replikationsinformationen gelesen werden.Sie können den Namen und den Speicherort der Binlog-Datei ermitteln, indem Sie
SHOW MASTER STATUS
auf der Quelldatenbankinstanz starten. -
ssl_encryption
-
Ein Wert, der angibt, ob die Secure Socket Layer (SSL) -Verschlüsselung für die Replikationsverbindung verwendet wird. 1 gibt an, dass SSL Verschlüsselung verwendet wird, 0 gibt an, dass keine Verschlüsselung verwendet wird. Der Standardwert ist 0.
Anmerkung
Sie müssen ein benutzerdefiniertes SSL Zertifikat mit importiert habenmysql.rds_import_binlog_ssl_material, um diese Option aktivieren zu können. Wenn Sie kein benutzerdefiniertes SSL Zertifikat importiert haben, setzen Sie diesen Parameter auf 0 und verwenden Sie ihn, mysql.rds_set_binlog_source_ssl (Aurora Meine Version 3) SQL um die binäre Protokollreplikation zu aktivierenSSL.
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_source
muss vom Hauptbenutzer ausgeführt werden. Dieses Verfahren muss auf der Aurora My SQL DB-Instance ausgeführt werden, damit sie als Read Replica einer SQL My-Instance konfiguriert werden kann, die außerhalb von Amazon RDS ausgeführt wird.
Vor der Ausführung mysql.rds_set_external_source
müssen Sie die Instance von My SQL running external RDS to Amazon als Quelldatenbank-Instance konfigurieren. Um eine Verbindung mit der SQL My-Instance herzustellen, die außerhalb von Amazon ausgeführt wirdRDS, müssen Sie replication_user_password
Werte angebenreplication_user_name
, die auf einen Replikationsbenutzer hinweisen, der über REPLICATION SLAVE
Berechtigungen für die externe Instance von My verfügt REPLICATION CLIENT
SQL.
Um eine externe Instance von My SQL als Quelldatenbank-Instance zu konfigurieren
-
Stellen Sie mit dem SQL My-Client Ihrer Wahl eine Verbindung zur externen Instanz von My her SQL und erstellen Sie ein Benutzerkonto, das für die Replikation verwendet werden soll. Im Folgenden wird ein Beispiel gezeigt.
Mein SQL 5.7
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Meine SQL 8,0
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '
password
';Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
-
REPLICATION CLIENT
Erteilen Sie Ihrem Replikationsbenutzer auf der externen Instanz von My SQLREPLICATION SLAVE
Rechte. Im folgenden Beispiel werden dem Benutzer 'repl_user' für Ihre Domäne die BerechtigungenREPLICATION CLIENT
undREPLICATION SLAVE
für alle Datenbanken erteilt.Mein SQL 5.7
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Meine SQL 8,0
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
Um die verschlüsselte Replikation zu verwenden, konfigurieren Sie die Quelldatenbank-Instance für die Verwendung von SSL Verbindungen. Importieren Sie außerdem mit der Prozedur mysql.rds_import_binlog_ssl_material das Zertifizierungsstellenzertifikat, das Clientzertifikat und den Clientschlüssel in die DB-Instance bzw. den DB-Cluster.
Anmerkung
Wir bieten diese gespeicherten Prozeduren hauptsächlich an, um die Replikation mit SQL My-Instances zu ermöglichen, die außerhalb von Amazon ausgeführt RDS werden. Wir empfehlen, dass Sie nach Möglichkeit Aurora Replicas verwenden, um die Replikation innerhalb eines Aurora My SQL DB-Clusters zu verwalten. Informationen zur Verwaltung der Replikation in Aurora My SQL DB-Clustern finden Sie unterVerwendung von Aurora-Replicas.
Nach dem Aufruf mysql.rds_set_external_source
zur Konfiguration einer Aurora My SQL DB-Instance als Read Replica können Sie mysql.rds_start_replication auf der Read Replica aufrufen, um den Replikationsprozess zu starten. Zudem haben Sie die Möglichkeit, mit einem Aufruf von mysql.rds_reset_external_source die Lesereplikat-Konfiguration zu entfernen.
Wenn aufgerufen mysql.rds_set_external_source
wird, RDS zeichnet Amazon die Uhrzeit, den Benutzer und eine Aktion von set
master
in den mysql.rds_replication_status
Tabellen mysql.rds_history
und auf.
Beispiele
Wenn sie auf einer Aurora My SQL DB-Instance ausgeführt wird, konfiguriert das folgende Beispiel die DB-Instance als Read Replica einer Instance von My, die außerhalb von SQL Amazon läuft. RDS
call mysql.rds_set_external_source( 'Externaldb.some.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0);
mysql.rds_set_external_source_with_auto_position (Aurora Meine Version 3) SQL
Konfiguriert eine Aurora My SQL Primary Instance so, dass eingehende Replikation von einer externen My SQL Instance akzeptiert wird. Bei diesem Verfahren wird auch die Replikation auf der Grundlage globaler Transaktions-Identifikatoren () konfiguriert. GTIDs
Syntax
CALL mysql.rds_set_external_source_with_auto_position (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
);
Parameter
host_name
-
Der Hostname oder die IP-Adresse der SQL My-Instance, die außerhalb von Aurora ausgeführt wird und die Replikationsquelle werden soll.
host_port
-
Der Port, der von der SQL My-Instance verwendet wird, die außerhalb von Aurora ausgeführt wird und als Replikationsquelle konfiguriert werden soll. Wenn Ihre Netzwerkkonfiguration die Secure Shell (SSH) -Portreplikation beinhaltet, die die Portnummer konvertiert, geben Sie die Portnummer an, die von verfügbar gemacht wirdSSH.
replication_user_name
-
Die ID eines Benutzers mit
REPLICATION CLIENT
undREPLICATION SLAVE
Berechtigungen für die My SQL Instance, die außerhalb von Aurora ausgeführt wird. Es wird empfohlen, ein Benutzerkonto bereitzustellen, das ausschließlich für die Replikation mit der externen Instance genutzt wird. replication_user_password
-
Das zu dem in
replication_user_name
angegebenen User-ID gehörige Passwort. ssl_encryption
-
Diese Option ist derzeit nicht implementiert. Der Standardwert ist 0.
Anmerkung
Wird verwendetmysql.rds_set_binlog_source_ssl (Aurora Meine Version 3) SQL, um die SSL binäre Protokollreplikation zu aktivieren.
Nutzungshinweise
Für einen Aurora My SQL DB-Cluster rufen Sie diese gespeicherte Prozedur auf, während Sie mit der primären Instance verbunden sind.
Der Administrator muss das mysql.rds_set_external_source_with_auto_position
-Verfahren ausführen. Der Administratorbenutzer führt dieses Verfahren auf der primären Instance eines Aurora My SQL DB-Clusters aus, das als Replikationsziel fungiert. Dies kann das Replikationsziel einer externen My SQL DB-Instance oder eines Aurora My SQL DB-Clusters sein.
Dieses Verfahren wird für Aurora My SQL Version 3 unterstützt. Bei diesem Verfahren wird keine verzögerte Replikation konfiguriert, da Aurora My die verzögerte Replikation SQL nicht unterstützt.
Bevor Sie sie ausführenmysql.rds_set_external_source_with_auto_position
, konfigurieren Sie die externe My SQL DB-Instance als Replikationsquelle. Um eine Verbindung mit der externen My SQL Instance herzustellen, geben Sie Werte für replication_user_name
und anreplication_user_password
. Diese Werte müssen einen Replikationsbenutzer angeben, der über REPLICATION SLAVE
Berechtigungen für die externe SQL My-Instanz verfügtREPLICATION CLIENT
.
Um eine externe SQL My-Instanz als Replikationsquelle zu konfigurieren
-
Stellen Sie mit dem My SQL Client Ihrer Wahl eine Verbindung zur externen SQL My-Instanz her und erstellen Sie ein Benutzerkonto, das für die Replikation verwendet werden soll. Im Folgenden wird ein Beispiel gezeigt.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
-
REPLICATION CLIENT
Erteilen Sie Ihrem Replikationsbenutzer auf der externen My SQL InstanceREPLICATION SLAVE
Berechtigungen. Im folgenden Beispiel werden dem BenutzerREPLICATION CLIENT
für Ihre Domäne die BerechtigungenREPLICATION SLAVE
und'repl_user'
für alle Datenbanken erteilt.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
Wenn Sie anrufenmysql.rds_set_external_source_with_auto_position
, RDS zeichnet Amazon bestimmte Informationen auf. Diese Informationen umfassen die Zeit, den Benutzer und eine Aktion von "set master"
in den Tabellen mysql.rds_history
und mysql.rds_replication_status
.
Um eine bestimmte GTID Transaktion zu überspringen, von der bekannt ist, dass sie ein Problem verursacht, können Sie die mysql.rds_skip_transaction_with_gtid (Aurora My Version 2 und 3) SQL gespeicherte Prozedur verwenden. Weitere Hinweise zur Arbeit mit der GTID basierten Replikation finden Sie unterVerwenden der GTID-basierten Replikation.
Beispiele
Bei Ausführung auf einer primären Aurora-Instance konfiguriert das folgende Beispiel den Aurora-Cluster so, dass er als Read Replica einer Instance von My fungiert, die außerhalb von Aurora SQL ausgeführt wird.
call mysql.rds_set_external_source_with_auto_position( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd');
mysql.rds_set_master_auto_position (Aurora Meine Version 2) SQL
Legt fest, dass der Replikationsmodus entweder auf binären Protokolldateipositionen oder auf globalen Transaktions-Identifikatoren (GTIDs) basiert.
Syntax
CALL mysql.rds_set_master_auto_position (
auto_position_mode
);
Parameter
-
auto_position_mode
-
Ein Wert, der angibt, ob die Positionsreplikation der Protokolldatei oder die GTID basierte Replikation verwendet werden soll:
-
0
– Verwendung der auf der Binärprotokolldateiposition basierenden Replikationsmethode. Der Standardwert ist0
. -
1
— Verwenden Sie die GTID basierte Replikationsmethode.
-
Nutzungshinweise
Die Prozedur mysql.rds_set_master_auto_position
muss vom Hauptbenutzer ausgeführt werden.
Dieses Verfahren wird für Aurora My SQL Version 2 unterstützt.
mysql.rds_set_read_only (Aurora Meine Version 3) SQL
Schaltet read_only
den Modus global für die DB-Instance ein oder aus.
Syntax
CALL mysql.rds_set_read_only(
mode
);
Parameter
mode
-
Ein Wert, der angibt, ob der
read_only
Modus für die DB-Instance global aktiviert oder deaktiviert ist:-
0
—OFF
. Die Standardeinstellung ist0
. -
1
–ON
-
Nutzungshinweise
Die mysql.rds_set_read_only
gespeicherte Prozedur ändert nur den read_only
Parameter. Der innodb_read_only
Parameter kann auf Reader-DB-Instances nicht geändert werden.
Die read_only
Parameteränderung bleibt beim Neustart nicht bestehen. Um dauerhafte Änderungen vorzunehmenread_only
, müssen Sie den read_only
DB-Cluster-Parameter verwenden.
Dieses Verfahren wird für Aurora My SQL Version 3.06 und höher unterstützt.
mysql.rds_set_session_binlog_format (Aurora Meine Version 2) SQL
Legt das binäre Protokollformat für die aktuelle Sitzung fest.
Syntax
CALL mysql.rds_set_session_binlog_format(
format
);
Parameter
format
-
Ein Wert, der das binäre Protokollformat für die aktuelle Sitzung angibt:
-
STATEMENT
— Die Replikationsquelle schreibt Ereignisse auf der Grundlage von Anweisungen in das Binärprotokoll. SQL -
ROW
– Die Replikationsquelle schreibt Ereignisse in das Binärprotokoll, die auf Änderungen an einzelnen Tabellenzeilen hinweisen. -
MIXED
— Die Protokollierung basiert im Allgemeinen auf SQL Anweisungen, wechselt aber unter bestimmten Bedingungen zu Zeilen. Weitere Informationen finden Sie in der SQL Dokumentation Meine Dokumentation unter Mixed Binary Logging Format.
-
Nutzungshinweise
Für einen Aurora My SQL DB-Cluster rufen Sie diese gespeicherte Prozedur auf, während Sie mit der primären Instance verbunden sind.
Wenn Sie diese gespeicherte Prozedur verwenden möchten, müssen Sie die Binärprotokollierung für die aktuelle Sitzung konfiguriert haben.
Für Aurora wird dieses Verfahren für Aurora My SQL Version 2.12 und höhere My SQL 5.7-kompatible Versionen unterstützt.
mysql.rds_set_source_auto_position (Aurora Meine Version 3) SQL
Legt fest, dass der Replikationsmodus entweder auf binären Protokolldateipositionen oder auf globalen Transaktions-Identifikatoren () GTIDs basiert.
Syntax
CALL mysql.rds_set_source_auto_position (
auto_position_mode
);
Parameter
auto_position_mode
-
Ein Wert, der angibt, ob die Positionsreplikation der Protokolldatei oder die GTID basierte Replikation verwendet werden soll:
-
0
– Verwendung der auf der Binärprotokolldateiposition basierenden Replikationsmethode. Der Standardwert ist0
. -
1
— Verwenden Sie die GTID basierte Replikationsmethode.
-
Nutzungshinweise
Für einen Aurora My SQL DB-Cluster rufen Sie diese gespeicherte Prozedur auf, während Sie mit der primären Instance verbunden sind.
Der Administrator muss das mysql.rds_set_source_auto_position
-Verfahren ausführen.
mysql.rds_skip_repl_error
Überspringt und löscht einen Replikationsfehler in einer My DB-Read Replica. SQL
Syntax
CALL mysql.rds_skip_repl_error;
Nutzungshinweise
Der Hauptbenutzer muss die Prozedur mysql.rds_skip_repl_error
auf einem Lesereplikat ausführen. Weitere Informationen zu dieser Prozedur finden Sie unter Überspringen des aktuellen Replikationsfehlers.
Führen Sie den Befehl My aus, um festzustellen, ob Fehler vorliegen. SQL SHOW REPLICA STATUS\G
Wenn ein Replikationsfehler nicht als kritisch eingestuft, ist, können Sie mysql.rds_skip_repl_error
ausführen, um den Fehler zu überspringen. Wenn mehrere Fehler aufgetreten sind, löscht mysql.rds_skip_repl_error
den ersten Fehler und weist darauf hin, dass weitere Fehlermeldungen anhängig sind. In diesem Fall können Sie mithilfe von SHOW REPLICA STATUS\G
die angemessene Vorgehensweise bei der Handhabung des nächsten Fehlers ermitteln. Informationen zu den zurückgegebenen Werten finden Sie in der SHOWREPLICASTATUSErklärung
Anmerkung
Frühere Versionen von My SQL wurden SHOW SLAVE STATUS
anstelle von verwendetSHOW REPLICA STATUS
. Wenn Sie eine SQL Version von My vor 8.0.23 verwenden, verwenden Sie. SHOW SLAVE STATUS
Weitere Informationen zur Behebung von Replikationsfehlern mit Aurora My SQL finden Sie unterDiagnose und Behebung eines My- SQL .
Fehler „Replication stopped (Replikation gestoppt)“
Wenn Sie die Prozedur mysql.rds_skip_repl_error
aufrufen, wird möglicherweise eine Fehlermeldung angezeigt, die besagt, dass das Replikat ausgefallen oder deaktiviert ist.
Diese Fehlermeldung wird angezeigt, wenn Sie die Prozedur auf der primären Instance statt auf dem Lesereplikat ausführen. Sie müssen diese Prozedur auf dem Lesereplikat ausführen, damit sie funktioniert.
Diese Fehlermeldung wird möglicherweise auch angezeigt, wenn Sie die Prozedur zwar auf dem Lesereplikat ausführen, die Replikation jedoch nicht neu gestartet werden kann.
Wenn Sie eine größere Anzahl von Fehlern überspringen müssen, kann die Dauer der Replikationsverzögerung den standardmäßigen Aufbewahrungszeitraum für binäre Protokolldateien (binlog) überschreiten. In diesem Fall kann es zu einem schwerwiegenden Fehler kommen, weil Binärprotokolldateien bereinigt werden, bevor ihr Inhalt in das Lesereplikat repliziert wurde. Diese Bereinigung führt zur Beendigung der Replikation, und Sie können den Befehl mysql.rds_skip_repl_error
nicht mehr aufrufen, um Replikationsfehler zu überspringen und zu ignorieren.
Sie können dieses Problem verringern, indem Sie die Anzahl der Stunden erhöhen, die die Binärprotokolldateien auf Ihrer Quelldatenbankinstance aufbewahrt werden. Nachdem Sie die Aufbewahrungsdauer für binäre Protokolldateien verlängert haben, können Sie die Replikation neu starten und nach Bedarf den Befehl mysql.rds_skip_repl_error
aufrufen.
Verwenden Sie zur Festlegung der Aufbewahrungszeit für Binärprotokolldateien die Prozedur mysql.rds_set_configuration und legen Sie einen Konfigurationsparameter für 'binlog
retention hours'
zusammen mit der Stundenanzahl für die Aufbewahrung der Binärprotokolldateien im DB-Cluster fest. Beim folgenden Beispiel wird die Aufbewahrungszeit für binäre Protokolle auf 48 Stunden festgelegt.
CALL mysql.rds_set_configuration('binlog retention hours', 48);
mysql.rds_start_replication
Initiiert die Replikation von einem Aurora aus.
Anmerkung
Sie können die mysql.rds_start_replication_until_gtid (Aurora Meine Version 3) SQL gespeicherte Prozedur mysql.rds_start_replication_until (Aurora Meine Version 3) SQL oder verwenden, um die Replikation von einer DB-Instance aus zu initiieren und die Replikation am angegebenen Speicherort der binären Protokolldatei zu beenden.
Syntax
CALL mysql.rds_start_replication;
Nutzungshinweise
Die Prozedur mysql.rds_start_replication
muss vom Hauptbenutzer ausgeführt werden.
Um Daten von einer Instance von My SQL external nach Amazon zu importierenRDS, rufen Sie die Read Replica mysql.rds_start_replication
auf, um den Replikationsprozess nach dem Aufruf zu starten mysql.rds_set_external_master
oder die Replikationskonfiguration mysql.rds_set_external_source
zu erstellen. Weitere Informationen finden Sie unter Replikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).
Um Daten in eine Instance von My SQL external to Amazon zu exportierenRDS, rufen Sie mysql.rds_start_replication
und mysql.rds_stop_replication
auf der Read Replica auf, um einige Replikationsaktionen zu steuern, z. B. das Löschen von Binärprotokollen. Weitere Informationen finden Sie unter Replikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).
Darüber hinaus können Sie mysql.rds_start_replication
für das Lesereplikat aufrufen, um einen zuvor durch einen Aufruf von mysql.rds_stop_replication
gestoppten Replikationsprozess wieder zu starten. Weitere Informationen finden Sie unter Fehler „Replication stopped (Replikation gestoppt)“.
mysql.rds_start_replication_until (Aurora Meine Version 3) SQL
Initiiert die Replikation von einem Aurora und stoppt die Replikation am angegebenen Speicherort der binären Protokolldatei.
Syntax
CALL mysql.rds_start_replication_until (
replication_log_file
,replication_stop_point
);
Parameter
-
replication_log_file
-
Der Name des Binärprotokolls auf der Quelldatenbank-Instance, die die Replikationsinformationen enthält.
-
replication_stop_point
-
Die Position im
replication_log_file
-Binärprotokoll, an der die Replikation stoppt.
Nutzungshinweise
Die Prozedur mysql.rds_start_replication_until
muss vom Hauptbenutzer ausgeführt werden.
Dieses Verfahren wird für Aurora My SQL Version 3.04 und höher unterstützt.
Die mysql.rds_start_replication_until
gespeicherte Prozedur wird für die verwaltete Replikation nicht unterstützt. Sie umfasst Folgendes:
Der für den Parameter replication_log_file
angegebene Dateiname muss mit dem Binlogdateinamen der Quelldatenbankinstance übereinstimmen.
Wenn der Parameter replication_stop_point
eine Stoppposition angibt, die in der Vergangenheit liegt, wird die Replikation sofort gestoppt.
Beispiele
Das folgende Beispiel initiiert die Replikation und repliziert die Änderungen, bis die Position 120
in der Binärprotokolldatei mysql-bin-changelog.000777
erreicht wird.
call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);
mysql.rds_stop_replication
Stoppt die Replikation von einer My SQL DB-Instance aus.
Syntax
CALL mysql.rds_stop_replication;
Nutzungshinweise
Die Prozedur mysql.rds_stop_replication
muss vom Hauptbenutzer ausgeführt werden.
Wenn Sie die Replikation so konfigurieren, dass Daten aus einer Instance von My importiert werden, die extern zu Amazon SQL läuftRDS, rufen Sie die Read Replica mysql.rds_stop_replication
auf, um den Replikationsvorgang nach Abschluss des Imports zu beenden. Weitere Informationen finden Sie unter Replikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).
Wenn Sie die Replikation so konfigurieren, dass Daten in eine Instance von My SQL external to Amazon exportiert werdenRDS, rufen Sie mysql.rds_start_replication
und mysql.rds_stop_replication
auf der Read Replica auf, um einige Replikationsaktionen zu steuern, z. B. das Löschen von Binärprotokollen. Weitere Informationen finden Sie unter Replikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).
Die mysql.rds_stop_replication
gespeicherte Prozedur wird für die verwaltete Replikation nicht unterstützt. Sie umfasst Folgendes: