Importieren von Daten aus einer externen MariaDB- oder MySQL-Datenbank in eine DB-Instance von RDS für MariaDB oder RDS für MySQL - 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.

Importieren von Daten aus einer externen MariaDB- oder MySQL-Datenbank in eine DB-Instance von RDS für MariaDB oder RDS für MySQL

Sie können Daten auch aus einer vorhandenen MariaDB- oder MySQL-Datenbank in eine MySQL- oder MariaDB-DB-Instance importieren. Zu diesem Zweck kopieren Sie die Datenbank mit mysqldump und importieren sie direkt in die MariaDB- oder MySQL-DB-Instance. Das Befehlszeilen-Hilfsprogramm mysqldump wird üblicherweise verwendet, um Backups zu erstellen und Daten aus einem MariaDB- oder MySQL-Server in einen anderen zu übertragen. Es ist in der MySQL- und MariaDB-Client-Software enthalten.

Anmerkung

Wenn Sie große Datenmengen mit einer MySQL-DB-Instance importieren oder exportieren, ist es zuverlässiger und schneller, Daten mithilfe von xtrabackup Sicherungsdateien und Amazon S3 in und aus Amazon RDS zu verschieben. Weitere Informationen finden Sie unter Wiederherstellen eines Backups in einer MySQL-DB-Instance.

Ein typischer mysqldump-Befehl für das Verschieben von Daten aus externen Datenbanken in eine Amazon RDS-DB-Instance ähnelt dem Folgenden.

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ -plocal_password | mysql -u RDS_user \ --port=port_number \ --host=host_name \ -pRDS_password
Wichtig

Lassen Sie ein Leerzeichen zwischen der Option -p und dem eingegeben Passwort.

Geben Sie aus Sicherheitsgründen andere Anmeldeinformationen als hier angegeben an.

Stellen Sie sicher, dass Sie die folgenden Empfehlungen und Überlegungen kennen:

  • Schließen Sie die folgenden Schemas aus der Dump-Datei aus: sys, performance_schema und information_schema. Das Dienstprogramm mysqldump schließt diese Schemas standardmäßig aus.

  • Wenn Sie Benutzer und Berechtigungen migrieren müssen, sollten Sie ein Tool verwenden, das die Data Control Language (DCL) generiert, um sie neu zu erstellen, z. B. das pt-show-grants Dienstprogramm .

  • Um den Import durchzuführen, stellen Sie sicher, dass der Benutzer Zugriff auf die DB-Instance hat. Weitere Informationen finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.

Die folgenden Parameter werden verwendet:

  • -u local_user – für die Angabe eines Benutzernamens. Beim ersten Gebrauch dieses Parameters geben Sie den Namen eines Benutzerkontos einer lokalen MariaDB- oder MySQL-Datenbank an, die durch den Parameter --databases bezeichnet wird.

  • --databases database_name – für die Angabe des Datenbanknamens in der lokalen MariaDB- oder MySQL-Instance, die Sie in Amazon RDS importieren möchten.

  • --single-transaction: zur Sicherstellung, dass alle aus der lokalen Datenbank geladenen Daten mit einem einzelnen Zeitpunkt übereinstimmen Wenn andere Prozesse die Daten ändern, während diese von mysqldump gelesen werden, kann durch die Verwendung dieses Parameters die Datenintegrität erhalten bleiben.

  • --compress: für die Reduzierung des Verbrauchs der Netzwerkbandbreite, indem Daten vor dem Sendevorgang aus der lokalen Datenbank an Amazon RDS komprimiert werden.

  • --order-by-primary: für die Reduzierung der Ladezeit durch Sortieren der Daten jeder Tabelle nach entsprechendem Primärschlüssel

  • -plocal_password – für die Angabe eines Passworts. Beim ersten Gebrauch dieses Parameters geben Sie das Passwort für das Benutzerkonto an, das durch den Parameter -u gekennzeichnet ist.

  • -u RDS_user – für die Angabe eines Benutzernamens. Beim zweiten Gebrauch dieses Parameters geben Sie den Namen eines Benutzerkontos in der Standarddatenbank für die MariaDB- oder MySQL-DB-Instance an, die durch den Parameter --host gekennzeichnet ist.

  • --port port_number – für die Angabe des Ports für Ihre MariaDB- oder MySQL-DB-Instance. Standardmäßig ist dieser Wert auf 3306 eingestellt, außer Sie haben ihn beim Erstellen der Instance geändert.

  • --host host_name – für die Angabe des Domain-Name-System(DNS)-Namens aus dem Endpunkt der Amazon-RDS-DB-Instance, zum Beispiel, myinstance.123456789012.us-east-1.rds.amazonaws.com. Sie finden den Endpunktwert in den Instance-Details in der Amazon RDS-Managementkonsole.

  • -pRDS_password – für die Angabe eines Passworts. Beim zweiten Gebrauch dieses Parameters geben Sie den Namen eines Passworts einer lokalen MySQL- oder MariaDB-Datenbank an, die durch den zweiten Parameter -u bezeichnet wird.

Stellen Sie sicher, dass Sie alle gespeicherten Prozeduren, Auslöser, Funktionen oder Ereignisse manuell in Ihrer Amazon-RDS-Datenbank erstellen. Falls Sie eines dieser Objekte in der Datenbank haben, die Sie kopieren, schließen Sie sie aus, wenn Sie mysqldump ausführen. Fügen Sie dazu die folgenden Parameter in Ihren mysqldump-Befehl ein: --routines=0 --triggers=0 --events=0.

Im folgenden Beispiel wird die Beispieldatenbank world im lokalen Host in eine MySQL-DB-Instance kopiert.

Für Linux, macOSoder Unix:

sudo mysqldump -u localuser \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocalpassword | mysql -u rdsuser \ --port=3306 \ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com \ -prdspassword

Führen Sie in Windows den folgenden Befehl in einem Eingabeaufforderungsfenster aus, das per Rechtsklick auf Eingabeaufforderung und anschließender Auswahl von Als Administrator ausführen geöffnet wird:

mysqldump -u localuser ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocalpassword | mysql -u rdsuser ^ --port=3306 ^ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com ^ -prdspassword
Anmerkung

Geben Sie aus Sicherheitsgründen andere Anmeldeinformationen als hier angegeben an.