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 MySQL-Datenbank in eine DB-Instance von Amazon RDS für MySQL
Sie können Daten aus einer vorhandenen MySQL-Datenbank in eine DB-Instance von RDS für MySQL importieren. Zu diesem Zweck kopieren Sie die Datenbank mit mysqldumpmysqldump wird üblicherweise verwendet, um Backups zu erstellen und Daten von einem MySQL-Server zu einem anderen zu übertragen. Es ist in der MySQL-Clientsoftware 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-Backup-Dateien und Amazon S3 in und aus Amazon RDS zu verschieben. Weitere Informationen finden Sie unter Wiederherstellen eines Backups in eine DB-Instance von Amazon RDS für MySQL.
Ein typischer mysqldump-Befehl für das Verschieben von Daten aus externen Datenbanken in eine Amazon-RDS-DB-Instance ähnelt dem folgenden Beispiel. Ersetzen Sie die Werte durch Ihre Angaben.
mysqldump -ulocal_user\ --databasesdatabase_name\ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password| mysql -uRDS_user\ --port=port_number\ --host=host_name\ -pRDS_password
Wichtig
Lassen Sie ein Leerzeichen zwischen der Option -p und dem eingegeben Passwort.
Geben Sie als bewährte Sicherheitsmethode andere Anmeldeinformationen als die in diesem Beispiel angegebenen Prompts 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 -
information_schema
Das Dienstprogramm
mysqldumpschließt diese Schemas standardmäßig aus. -
-
Wenn Sie Benutzer und Rechte migrieren müssen, sollten Sie in Erwägung ziehen, ein Tool zu verwenden, das die Data Control Language (DCL) generiert, um sie neu zu erstellen, z. B. das pt-show-grants
Hilfsprogramm. -
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– für die Angabe eines Benutzernamens. Beim ersten Gebrauch dieses Parameters geben Sie den Namen eines Benutzerkontos in der lokalen MySQL-Datenbank an, die durch den Parameterlocal_user--databasesidentifiziert wird. -
--databases: für die Angabe des Datenbanknamens in der lokalen MySQL-Instance, die Sie in Amazon RDS importieren möchten.database_name -
--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 vonmysqldumpgelesen 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 -
--routines: Verwenden Sie diese Option, wenn Routinen wie gespeicherte Prozeduren oder Funktionen in der Datenbank vorhanden sind, die Sie kopieren. Legen Sie den Parameter auf0fest, wodurch die Routinen während des Importvorgangs ausgeschlossen werden. Erstellen Sie die Routinen dann später manuell in der Amazon-RDS-Datenbank neu. -
--triggers: Verwenden Sie diese Option, wenn in der Datenbank, die Sie kopieren, Auslöser vorhanden sind. Legen Sie den Parameter auf0fest, wodurch die Auslöser während des Importvorgangs ausgeschlossen werden. Erstellen Sie die Auslöser dann später manuell in der Amazon-RDS-Datenbank neu. -
--events: Verwenden Sie diese Option, wenn in der Datenbank, die Sie kopieren, Ereignisse vorhanden sind. Legen Sie den Parameter auf0fest, wodurch die Ereignisse während des Importvorgangs ausgeschlossen werden. Erstellen Sie die Ereignisse dann später manuell in der Amazon-RDS-Datenbank neu. -
-p– für die Angabe eines Passworts. Beim ersten Gebrauch dieses Parameters geben Sie das Passwort für das Benutzerkonto an, das durch den ersten Parameterlocal_password-ugekennzeichnet ist. -
-u– für die Angabe eines Benutzernamens. Beim zweiten Gebrauch dieses Parameters geben Sie den Namen eines Benutzerkontos in der Standarddatenbank für die MySQL-DB-Instance an, die durch den ParameterRDS_user--hostgekennzeichnet ist. -
--port– für die Angabe des Ports für die MySQL-DB-Instance. Standardmäßig ist dieser Wert auf 3306 festgelegt, außer Sie haben ihn beim Erstellen der DB-Instance geändert.port_number -
--host– für die Angabe des Domain-Name-System(DNS)-Namens aus dem Endpunkt der Amazon-RDS-DB-Instance, zum Beispiel,host_namemyinstance.123456789012.us-east-1.rds.amazonaws.com. Sie finden den Endpunktwert in den DB-Instance-Details in der Amazon-RDS-Konsole. -
-p– 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 ParameterRDS_password-ubezeichnet 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 den Befehl mysqldump ein:
-
--routines=0 -
--triggers=0 -
--events=0
Beispiel
Im folgenden Beispiel wird die Beispieldatenbank world des lokalen Hosts in eine DB-Instance von RDS für MySQL kopiert. Ersetzen Sie die Werte durch Ihre Angaben.
Für Linux, macOS oder Unix:
sudo mysqldump -ulocal_user\ --databasesworld\ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password| mysql -urds_user\ --port=3306\ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com\ -pRDS_password
Für Windows:
Führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster aus, das per Rechtsklick auf Eingabeaufforderung im Windows-Menü und anschließender Auswahl von Als Administrator ausführen geöffnet wird. Ersetzen Sie die Werte durch Ihre Angaben.
mysqldump -ulocal_user^ --databasesworld^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocal_password| mysql -uRDS_user^ --port=3306^ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com^ -pRDS_password
Anmerkung
Geben Sie als bewährte Sicherheitsmethode andere Anmeldeinformationen als die in diesem Beispiel angegebenen Prompts an.