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.
Exportieren von Daten aus einer MySQL DB-Instance mithilfe der Replikation
Sie können eine Replikation verwenden, um Daten aus einer DB-Instance von RDS für MySQL in eine MySQL-Instance zu exportieren, die außerhalb von Amazon RDS ausgeführt wird. In diesem Szenario ist die MySQL-DB-Instance die MySQL-Quell-DB-Instance und die MySQL-Instance, die außerhalb von Amazon RDS ausgeführt wird, ist die externe MySQL-Datenbank.
Die externe MySQL-Datenbank kann entweder lokal in Ihrem Rechenzentrum oder auf einer Amazon EC2-Instance ausgeführt werden. Die externe MySQL-Datenbank muss dieselbe Version wie die MySQL-Quell-DB-Instance oder eine höhere Version ausführen.
Die Replikation auf eine externe MySQL-Datenbank wird nur während des Exports einer Datenbank aus der MySQL-Quell-DB-Instance unterstützt. Die Replikation sollte nach Abschluss des Exportvorgangs beendet werden und die Anwendungen können dann wieder auf die externe MySQL-Instance zugreifen.
Im Folgenden sind die durchzuführenden Schritte aufgeführt. In den folgenden Abschnitten wird jeder Schritt im Detail erklärt.
Bereiten Sie eine externe MySQL DB-Instance vor.
Bereiten Sie die MySQL-DB-Quell-Instance für die Replikation vor.
Verwenden Sie das Dienstprogramm mysqldump, um die Datenbank von der MySQL-DB-Quell-Instance in die externe MySQL-Datenbank zu übertragen.
Starten Sie die Replikation zu der externen MySQL-Datenbank.
Nachdem der Exportvorgang abgeschlossen ist, stoppt die Replikation.
Vorbereiten einer externen MySQL-Datenbank
Führen Sie die folgenden Schritte aus, um die externe MySQL-Datenbank vorzubereiten.
So bereiten Sie die externe MySQL-Datenbank vor:
-
Installieren Sie die externe MySQL-Datenbank.
-
Stellen Sie als Masterbenutzer eine Verbindung zur externen MySQL-Datenbank her. Erstellen Sie dann die Benutzer, die erforderlich sind, um die Administratoren, Anwendungen und Services zu unterstützen, die auf die Datenbank zugreifen.
-
Folgen Sie den Anweisungen in der MySQL-Dokumentation, um die externe MySQL-Datenbank als Replikat vorzubereiten. Weitere Informationen finden Sie unter Festlegen der Replikatkonfiguration
in der MySQL-Dokumentation. -
Konfigurieren Sie eine Ausgangsregel für die externe MySQL-Datenbank, damit diese während des Exportvorgangs als Read Replica funktioniert. Die Ausgangsregel ermöglicht es der externen MySQL-Datenbank, während der Replikation eine Verbindung mit der MySQL-DB-Quell-Instance herzustellen. Legen Sie eine Ausgangsregel fest, die TCP-Verbindungen zum Port und zur IP-Adresse der MySQL-DB-Quell-Instance zulässt.
Geben Sie die entsprechenden Ausgangsregeln für Ihre Umgebung an:
-
Wenn die externe MySQL-Datenbank in einer Amazon EC2-Instance in einer Virtual Private Cloud (VPC) ausgeführt wird, die auf dem Amazon VPC-Service basiert, geben Sie die Ausgangregeln in einer VPC-Sicherheitsgruppe an. Weitere Informationen finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.
-
Wenn die externe MySQL-Datenbank lokal installiert ist, geben Sie die Ausgangregeln in einer Firewall an.
-
-
Wenn die externe MySQL-Datenbank in einer VPC ausgeführt wird, konfigurieren Sie zusätzlich zur Sicherheitsgruppenausgangsregel Regeln für die VPC-Zugriffskontrollliste (ACL):
-
Konfigurieren Sie eine ACL-Eingangsregel, die TCP-Datenverkehr zu den Ports 1024–65535 von der IP-Adresse der MySQL-DB-Quell-Instance erlaubt.
-
Konfigurieren Sie eine ACL-Ausgangsregel, die ausgehenden TCP-Datenverkehr zum Port und zur IP-Adresse der MySQL-DB-Quell-Instance erlaubt.
Weitere Informationen zu Amazon VPC-Netzwerk-ACLs finden Sie unter Netzwerk-ACLs in Amazon VPC Benutzerhandbuch.
-
-
(Optional) Legen Sie den Parameter
max_allowed_packetauf die maximale Größe fest, um Replikationsfehler zu vermeiden. Wir empfehlen diese Einstellung.
Vorbereiten der MySQL-DB-Quell-Instance
Führen Sie die folgenden Schritte aus, um die MySQL-DB-Quell-Instance als Replikationsquelle vorzubereiten.
So bereiten Sie die MySQL DB-Quell-Instance vor:
-
Stellen Sie sicher, dass Ihr Client-Computer über genügend freien Speicherplatz verfügt, um die Binärprotokolle während des Einrichtens der Replikation zu speichern.
-
Stellen Sie eine Verbindung mit der MySQL-DB-Quell-Instance her und erstellen Sie ein Replikationskonto, indem Sie die Anweisungen unter Erstellen eines Benutzers für die Replikation
in der MySQL-Dokumentation befolgen. -
Konfigurieren Sie die Eingangsregeln auf dem System, auf dem die MySQL DB-Quell-Instance ausgeführt wird, damit die externe MySQL-Datenbank während der Replikation eine Verbindung herstellen kann. Legen Sie eine Eingangsregel fest, die TCP-Verbindungen zum Port, der von der MySQL-DB-Quell-Instance verwendet wird, von der IP-Adresse der externen MySQL-Datenbank erlaubt.
-
Geben Sie die Ausgangregeln an:
-
Wenn die MySQL-DB_Quell-Instance in einer VPC ausgeführt wird, legen Sie die Eingangsregeln in einer VPC-Sicherheitsgruppe fest. Weitere Informationen finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.
-
-
Wenn die MySQL_DB_Quell-Instance in einer VPC ausgeführt wird, konfigurieren Sie VPC-ACL-Regeln, zusätzlich zur Eingangsregel der Sicherheitsgruppe.
-
Konfigurieren Sie eine Regel für eingehenden ACL-Datenverkehr, die TCP-Verbindungen zum Port, der von der Amazon-RDS-Instance verwendet wird, von der IP-Adresse der externen MySQL-Datenbank erlaubt.
-
Konfigurieren Sie eine ACL_Ausgangsregel, die TCP-Verbindungen von den Ports 1024–65535 zur IP-Adresse der externen MySQL-Datenbank erlaubt.
Weitere Informationen zu Amazon VPC-Netzwerk-ACLs finden Sie unter Netzwerk-ACLs im Amazon VPC Benutzerhandbuch.
-
-
Stellen Sie sicher, dass der Aufbewahrungszeitraum für Backup auf eine ausreichend lange Dauer eingestellt ist, damit keine Binärprotokolle während des Exportvorgangs bereinigt werden. Wenn Protokolle bereinigt werden, bevor der Exportvorgang abgeschlossen ist, müssen Sie die Replikation von Anfang an neu starten. Weitere Informationen zum Einstellen des Aufbewahrungszeitraums für Backups finden Sie unter Einführung in Backups.
-
Verwenden Sie die gespeicherte Prozedur
mysql.rds_set_configuration, um das Binärprotokoll für den Aufbewahrungszeitraum auf eine ausreichend lange Dauer einzustellen, damit die Binärprotokolle während des Exportvorgangs nicht bereinigt werden. Weitere Informationen finden Sie unter Zugriff auf MySQL-Binärprotokolle. -
Erstellen Sie ein Amazon-RDS-Read Replica aus der MySQL-DB-Quell-Instance, um nochmals sicherzustellen, dass die Binärprotokolle der MySQL-DB-Quell-Instance nicht bereinigt werden. Weitere Informationen finden Sie unter Erstellen eines Lesereplikats.
-
Nachdem das Amazon-RDS-Lesereplikat erstellt wurde, rufen Sie die gespeicherte Prozedur
mysql.rds_stop_replicationauf, um den Replikationsvorgang zu stoppen. Die MySQL-DB-Quell-Instance löscht ihre binären Protokolldateien nicht mehr, so dass sie für den Replikationsprozess verfügbar sind. -
(Optional) Legen Sie sowohl den Parameter
max_allowed_packetals auch den Parameterslave_max_allowed_packetauf die maximale Größe fest, um Replikationsfehler zu vermeiden. Die maximale Größe für beide Parameter beträgt 1 GB. Wir empfehlen diese Einstellung für beide Parameter. Weitere Informationen zum Festlegen von Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe in Amazon RDS.
Kopieren der Datenbank
Führen Sie die folgenden Schritte aus, um die Datenbank zu kopieren.
So kopieren Sie die Datenbank:
-
Stellen Sie eine Verbindung mit dem RDS-Read Replica der MySQL-DB-Instance her und führen Sie die MySQL-Anweisung
SHOW REPLICA STATUS\Gaus. Beachten Sie die Werte für Folgendes:-
Master_Host -
Master_Port -
Master_Log_File -
Exec_Master_Log_Pos
Anmerkung
Frühere Versionen von MySQL verwenden
SHOW SLAVE STATUSanstelle vonSHOW REPLICA STATUS. Wenn Sie vor 8.0.23 eine MySQL-Version verwenden, verwenden SiSHOW SLAVE STATUS. -
-
Verwenden Sie das Dienstprogramm mysqldump, um einen Snapshot zu erstellen, der die Daten von Amazon RDS auf Ihren lokalen Client-Computer kopiert. Stellen Sie sicher, dass Ihr Client-Computer ausreichend Speicherplatz zur Verfügung hat, um die zu replizierenden
mysqldump-Dateien aus den Datenbanken zu speichern. Dieser Vorgang kann für große Datenbanken einige Stunden in Anspruch nehmen. Folgen Sie den Anweisungen unter Erstellen eines Daten-Snapshots mit mysqldumpin der MySQL-Dokumentation. Im folgenden Beispiel wird
mysqldumpauf einem Client ausgeführt und schreibt das Dump in eine Datei.Für Linux, macOS oder Unix:
mysqldump -hsource_MySQL_DB_instance_endpoint\ -uuser\ -ppassword\ --port=3306 \ --single-transaction \ --routines \ --triggers \ --databasesdatabase database2>path/rds-dump.sqlFür Windows:
mysqldump -hsource_MySQL_DB_instance_endpoint^ -uuser^ -ppassword^ --port=3306 ^ --single-transaction ^ --routines ^ --triggers ^ --databasesdatabase database2>path\rds-dump.sqlSie können die Backup-Datei in die externe MySQL-Datenbank laden. Weitere Informationen finden Sie unter Reloading SQL-Format Backups
in der MySQL-Dokumentation. Sie können ein anderes Dienstprogramm ausführen, um die Daten in die externe MySQL-Datenbank zu laden.
Abschließen des Exportvorgangs
Führen Sie die folgenden Schritte aus, um den Export abzuschließen.
So schließen Sie den Export ab:
-
Verwenden Sie das MySQL-Statement
CHANGE MASTER, um die externe MySQL-Datenbank zu konfigurieren. Geben Sie die ID und das Passwort des Benutzers an, demREPLICATION SLAVE-Berechtigungen erteilt wurden. Geben Sie die WerteMaster_Host,Master_Port,Relay_Master_Log_FileundExec_Master_Log_Posaus der MySQL-SHOW REPLICA STATUS\G-Anweisung an, die Sie auf dem RDS-Read Replica ausgeführt haben. Weitere Informationen finden Sie unter CHANGE MASTER TO-Anweisungin der MySQL-Dokumentation. Anmerkung
Frühere Versionen von MySQL verwenden
SHOW SLAVE STATUSanstelle vonSHOW REPLICA STATUS. Wenn Sie vor 8.0.23 eine MySQL-Version verwenden, verwenden SiSHOW SLAVE STATUS. -
Verwenden Sie den MySQL-Befehl
START REPLICA, um die Replikation von der MySQL-DB-Quell-Instance in die externe MySQL-Datenbank zu initiieren.Dadurch wird die Replikation von der MySQL-DB-Quell-Instance gestartet und alle Quelländerungen werden exportiert, die nach Beendigung der Replikation aus dem Amazon-RDS-Read Replica aufgetreten sind.
Anmerkung
Frühere Versionen von MySQL verwenden
START SLAVEanstelle vonSTART REPLICA. Wenn Sie vor 8.0.23 eine MySQL-Version verwenden, verwenden SiSTART SLAVE. -
Führen Sie den MySQL-Befehl
SHOW REPLICA STATUS\Gin der externen MySQL-Datenbank aus, um zu überprüfen, ob diese als Read Replica ausgeführt wird. Weitere Informationen zum Interpretieren der Ergebnisse finden Sie unter SHOW SLAVE | REPLICA STATUS-Anweisungin der MySQL-Dokumentation. -
Nachdem die Replikation auf der externen MySQL-Datenbank die MySQL-DB-Quell-Instance eingeholt hat, verwenden Sie den MySQL-Befehl
STOP REPLICA, um die Replikation von der MySQL-DB-Quell-Instance anzuhalten.Anmerkung
Frühere Versionen von MySQL verwenden
STOP SLAVEanstelle vonSTOP REPLICA. Wenn Sie vor 8.0.23 eine MySQL-Version verwenden, verwenden SiSTOP SLAVE. -
Rufen Sie im Amazon-RDS-Lesereplikat die gespeicherte Prozedur
mysql.rds_start_replicationauf. Dies ermöglicht Amazon RDS, die Binärprotokolldateien aus der MySQL-DB-Quell-Instance zu bereinigen.