Import und Export von Datenbanken in MySQL über die Befehlszeile ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
10.12.2024

Import und Export von Datenbanken in MySQL über die Befehlszeile

Die Verwaltung von Datenbank-Backups und -Migrationen ist eine wichtige Aufgabe für jeden MySQL-Datenbankadministrator. Mit Hilfe der Kommandozeile können Sie Datenbanken einfach in Sicherungsdateien exportieren oder in eine neue Umgebung importieren. Dieser Leitfaden beschreibt, wie Sie Datenbanken in MySQL über die Befehlszeile importieren und exportieren.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass:

  • MySQL ist auf Ihrem Server oder Ihrem lokalen Rechner installiert und läuft.
  • Sie haben Zugriff auf ein Terminal oder eine Befehlszeile.
  • Sie verfügen über die erforderlichen MySQL-Anmeldeinformationen, einschließlich Benutzername und Passwort.

Datenbanken mit mysqldump exportieren

Das Dienstprogramm mysqldump ist das Standardwerkzeug zum Exportieren von Datenbanken in MySQL. Es erstellt eine .sql-Datei, die die SQL-Anweisungen enthält, die für die Neuerstellung der Datenbank erforderlich sind.

1. Eine einzelne Datenbank exportieren

Um eine einzelne Datenbank zu exportieren, verwenden Sie die folgende Syntax:

mysqldump -u [Benutzername] -p [Datenbank_name] > [Dateiname].sql
  • -u [Benutzername]: Der MySQL-Benutzername.
  • -p: Fordert zur Eingabe des MySQL-Passworts auf.
  • [datenbank_name]: Der Name der Datenbank, die Sie exportieren möchten.
  • [Dateiname].sql: Der Name der Ausgabedatei, die die Datenbanksicherung enthalten wird.

Beispiel:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

Dieser Befehl fragt nach dem Kennwort des Root-Benutzers und erstellt eine Datei namens mydatabase_backup.sql, die alle Daten und die Struktur von mydatabase enthält.

2. Mehrere Datenbanken exportieren

Um mehrere Datenbanken zu exportieren, verwenden Sie die Option –databases, gefolgt von den Namen der Datenbanken:

mysqldump -u [Benutzername] -p --databases [Datenbank1] [Datenbank2] > [Dateiname].sql

Beispiel:

mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql

Dieser Befehl exportiert sowohl db1 als auch db2 in multiple_databases_backup.sql.

3. Alle Datenbanken exportieren

Um alle Datenbanken auf Ihrem MySQL-Server zu exportieren, verwenden Sie die Option –all-databases:

mysqldump -u [Benutzername] -p --all-databases > all_databases_backup.sql

Beispiel:

mysqldump -u root -p --all-databases > all_databases_backup.sql

Dies erstellt ein vollständiges Backup aller Datenbanken in all_databases_backup.sql.

4. Nur Tabellenstruktur exportieren (keine Daten)

Wenn Sie nur die Struktur der Tabellen ohne die Daten benötigen, fügen Sie die Option –no-data hinzu:

mysqldump -u [Benutzername] -p --no-data [Datenbankname] > structure_only.sql

Beispiel:

mysqldump -u root -p --no-data mydatabase > structure_only.sql

5. Bestimmte Tabellen exportieren

Um bestimmte Tabellen aus einer Datenbank zu exportieren, führen Sie diese nach dem Datenbanknamen auf:

mysqldump -u [Benutzername] -p [Datenbankname] [Tabelle1] [Tabelle2] > [Dateiname].sql

Beispiel:

mysqldump -u root -p mydatabase Tabelle1 Tabelle2 > tables_backup.sql

Datenbanken mit mysql importieren

Um eine Datenbank aus einer SQL-Datei zu importieren, verwenden Sie den Befehl mysql.

1. Importieren einer einzelnen Datenbank

Um eine SQL-Datei in eine MySQL-Datenbank zu importieren, verwenden Sie den folgenden Befehl:

mysql -u [Benutzername] -p [Datenbank_name] < [Dateiname].sql
  • -u [benutzername]: Der MySQL-Benutzername.
  • -p: Fordert zur Eingabe des MySQL-Passworts auf.
  • [datenbank_name]: Der Name der Datenbank, in die die Daten importiert werden sollen.
  • [Dateiname].sql: Der Name der zu importierenden .sql-Datei.

Beispiel:

mysql -u root -p mydatabase < mydatabase_backup.sql

Mit diesem Befehl wird das Passwort des Root-Benutzers abgefragt und der Inhalt von mydatabase_backup.sql in mydatabase importiert.

2. Importieren in eine neue Datenbank

Wenn Sie in eine neue Datenbank importieren möchten, müssen Sie zunächst die Datenbank erstellen und dann die .sql-Datei importieren.

Schritt 1: Erstellen Sie eine neue Datenbank.

mysql -u [username] -p -e "CREATE DATABASE [new_database_name];"

Schritt 2: Importieren Sie die .sql-Datei in die neue Datenbank.

mysql -u [Benutzername] -p [new_database_name] < [Dateiname].sql

Beispiel:

mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p newdatabase < mydatabase_backup.sql

3. Alle Datenbanken importieren

Wenn Sie alle Datenbanken mit --all-databases gesichert haben, können Sie sie mit importieren:

mysql -u [Benutzername] -p < all_databases_backup.sql

Beispiel:

mysql -u root -p < all_databases_backup.sql

Dieser Befehl stellt alle Datenbanken wieder her, die in der Datei all_databases_backup.sql enthalten sind.

Tipps zur Verwendung von mysqldump und mysql

  • Verwenden Sie Komprimierung: Um Speicherplatz und Übertragungszeit zu sparen, können Sie die Backup-Datei mit gzip komprimieren:
    mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz

    Und um sie zu importieren:

    gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
  • Überprüfen Sie die Datenbank vor dem Import: Stellen Sie sicher, dass die Datenbank, in die Sie importieren wollen, leer ist oder kompatible Daten enthält, um Konflikte zu vermeiden.
  • Zeichensatz prüfen: Wenn Sie mit Nicht-ASCII-Zeichen arbeiten, vergewissern Sie sich, dass Sie mit dem richtigen Zeichensatz exportieren und importieren, indem Sie die Option --default-character-set verwenden:
    mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
  • Fehlerbehandlung: Wenn Sie während des Imports auf Fehler stoßen, prüfen Sie auf allgemeine Probleme wie fehlende Datenbanken oder Tabellenstrukturen und stellen Sie sicher, dass Ihre .sql-Datei vollständig ist.

Zusammenfassung

Das Exportieren und Importieren von MySQL-Datenbanken über die Befehlszeile ist mit mysqldump und mysql ganz einfach. Diese Werkzeuge bieten Flexibilität bei der Verwaltung von Backups, der Migration von Datenbanken zwischen Servern und der Erstellung von Exporten, die nur die Struktur oder nur die Daten betreffen. Wenn Sie die Befehle und ihre Optionen kennen, können Sie einen reibungslosen Datenbankbetrieb sicherstellen und die Datenintegrität bei Übertragungen wahren.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills