Daten aus einer externen MariaDB-Datenbank in eine Amazon RDS for MariaDB-DB-Instance importieren - 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.

Daten aus einer externen MariaDB-Datenbank in eine Amazon RDS for MariaDB-DB-Instance importieren

Sie können Daten aus einer vorhandenen MariaDB- oder MySQL-Datenbank in eine RDS for MariaDB- oder RDS for MySQL-DB-Instance importieren. Dazu kopieren Sie die Datenbank mit mysqldump und leiten sie direkt an die DB-Instance RDS for MariaDB oder RDS for MySQL weiter. 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.

In MariaDB 10.5 heißt der Client mariadb-dump. Ab MariaDB 11.0.1 müssen Sie anstelle von verwendenmariadb-dump. mysqldump

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 Wiederherstellung eines Backups in einer Amazon RDS for MySQL MySQL-DB-Instance.

Amazon RDS unterstützt xtrabackup MariaDB nicht oder. mariabackup Amazon RDS unterstützt nur den Import aus Amazon S3 für MySQL.

Ein typischer mysqldump Befehl zum Verschieben von Daten aus einer externen Datenbank in eine Amazon RDS-DB-Instance sieht dem folgenden Beispiel ähnlich. Ersetzen Sie Werte durch Ihre eigenen Informationen. Ersetzen Sie für MariaDB 11.0.1 und höhere Versionen durch und mysqldump durchmariadb-dump. mysql mariadb

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -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.

Aus Sicherheitsgründen sollten Sie andere Anmeldeinformationen als die in diesem Beispiel gezeigten Eingabeaufforderungen angeben.

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 mariadb-dump Hilfsprogramm mysqldump and schließ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) für deren Neuerstellung generiert, z. B. das Hilfsprogramm. pt-show-grants

  • 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. Geben Sie bei der ersten Verwendung dieses Parameters den Namen eines Benutzerkontos in der lokalen MariaDB- oder MySQL-Datenbank an, das Sie mit dem --databases Parameter identifizieren.

  • --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

  • --routines— Verwenden Sie diese Option, wenn Routinen wie gespeicherte Prozeduren oder Funktionen in der Datenbank vorhanden sind, die Sie kopieren. Setzen Sie den Parameter auf0, wodurch die Routinen während des Importvorgangs ausgeschlossen werden. Erstellen Sie die Routinen später manuell in der Amazon RDS-Datenbank neu.

  • --triggers— Verwenden Sie diese Option, wenn in der Datenbank, die Sie kopieren, Trigger vorhanden sind. Setzen Sie den Parameter auf0, wodurch die Trigger während des Importvorgangs ausgeschlossen werden. Erstellen Sie die Trigger später manuell in der Amazon RDS-Datenbank neu.

  • --events— Verwenden Sie diese Option, wenn Ereignisse in der Datenbank vorhanden sind, die Sie kopieren. Setzen Sie den Parameter auf0, wodurch die Ereignisse während des Importvorgangs ausgeschlossen werden. Erstellen Sie die Ereignisse später manuell in der Amazon RDS-Datenbank neu.

  • -plocal_password – für die Angabe eines Passworts. Geben Sie bei der ersten Verwendung dieses Parameters das Passwort für das Benutzerkonto an, das Sie mit dem ersten -u Parameter identifizieren.

  • -u RDS_user – für die Angabe eines Benutzernamens. Bei der zweiten Verwendung dieses Parameters geben Sie den Namen eines Benutzerkontos in der Standarddatenbank für die MariaDB- oder MySQL-DB-Instance an, die Sie mit dem --host Parameter identifizieren.

  • --port port_number – für die Angabe des Ports für Ihre MariaDB- oder MySQL-DB-Instance. Standardmäßig ist dies 3306, sofern Sie den Wert nicht beim Erstellen der DB-Instance geändert haben.

  • --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 DB-Instance-Details in der Amazon RDS-Konsole.

  • -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. Wenn Sie eines dieser Objekte in der Datenbank haben, die Sie kopieren, schließen Sie es aus, wenn Sie mysqldump oder ausführenmariadb-dump. Fügen Sie dazu Ihrem mariadb-dump Befehl mysqldump oder die folgenden Parameter hinzu:

  • --routines=0

  • --triggers=0

  • --events=0

Beispiel

Im folgenden Beispiel wird die world Beispieldatenbank auf dem lokalen Host in eine RDS for MySQL-DB-Instance kopiert. Ersetzen Sie Werte durch Ihre eigenen Informationen. Um die Beispieldatenbank in eine RDS for MariaDB-DB-Instance zu kopieren, mysqldump ersetzen Sie sie durch mariadb-dump und mysql durch. mariadb

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

sudo mysqldump -u local_user \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mysql -u rds_user \ --port=3306 \ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com \ -pRDS_password

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

Führen Sie den folgenden Befehl in einer Befehlszeile aus, die geöffnet wurde, indem Sie im Windows-Programmmenü mit der rechten Maustaste auf Eingabeaufforderung klicken und Als Administrator ausführen wählen. Ersetzen Sie Werte durch Ihre eigenen Informationen. Um die Beispieldatenbank in eine RDS for MariaDB-DB-Instance zu kopieren, mysqldump ersetzen Sie sie durch mariadb-dump und mysql durch. mariadb

mysqldump -u local_user ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocal_password | mysql -u RDS_user ^ --port=3306 ^ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com ^ -pRDS_password
Anmerkung

Aus Sicherheitsgründen sollten Sie andere Anmeldeinformationen als die im Beispiel gezeigten Eingabeaufforderungen angeben.