Dieser Leitfaden führt Sie durch den Prozess des Exportierens und Importierens von MySQL-Datenbanken mithilfe von SQL Dump-Dateien. Ob Sie regelmäßig Backups erstellen oder Daten zwischen Servern migrieren, ist es wichtig zu verstehen, wie man diese Dumps erstellt und wiederherstellt. Wir behandeln zwei Methoden: die Verwendung von phpMyAdmin und Befehlszeilenwerkzeugen wie mysqldump und mysql.

Exportieren einer MySQL-Datenbank

Mithilfe von phpMyAdmin

  1. Melden Sie sich bei Ihrer phpMyAdmin-Schnittstelle an.
  2. Wählen Sie die Datenbank aus, die Sie exportieren möchten, aus dem linken Menü.
  3. Klicken Sie auf den Tab „Export“ am oberen Rand der Seite.
  4. Wählen Sie die Exportmethode „Schnell“ für eine einfache Sicherung oder wechseln Sie zu „Benutzerdefiniert“, wenn Sie mehr Optionen benötigen.
  5. Wählen Sie das Format SQL und stellen Sie sicher, dass alle Tabellen in den Dump aufgenommen werden.
  6. Klicken Sie auf die Schaltfläche „Ausführen“ am unteren Rand der Seite, um den Download Ihrer Datenbank-Dump-Datei zu starten.

Mithilfe der Befehlszeile (mysqldump)

  1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung.
  2. Führen Sie den folgenden Befehl aus, indem Sie username, password und database_name durch Ihren MySQL-Benutzernamen, Ihr Passwort und den Namen Ihrer Datenbank ersetzen:
    mysqldump -u username -p database_name > backup.sql
  3. Sie werden aufgefordert, das Passwort für den MySQL-Benutzer einzugeben.
  4. Der Befehl erstellt eine Datei namens backup.sql in Ihrem aktuellen Verzeichnis, die den SQL-Dump der angegebenen Datenbank enthält.

Importieren einer MySQL-Datenbank

Mithilfe von phpMyAdmin

  1. Melden Sie sich bei Ihrer phpMyAdmin-Schnittstelle an.
  2. Wählen Sie die Ziel-Datenbank aus dem linken Menü, in die Sie Daten importieren möchten. Falls sie nicht existiert, erstellen Sie eine neue durch Klicken auf „Datenbanken“ und Eingabe des Namens der neuen Datenbank.
  3. Klicken Sie auf den Tab „Import“ am oberen Rand der Seite.
  4. Wählen Sie Ihre SQL-Dump-Datei von Ihrem lokalen Rechner aus, indem Sie die Schaltfläche „Durchsuchen“ verwenden.
  5. Klicken Sie auf die Schaltfläche „Ausführen“, um den Import-Prozess zu starten.

Mithilfe der Befehlszeile (mysql)

  1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung.
  2. Erstellen Sie eine leere Datenbank, falls sie noch nicht existiert:
    mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;"
  3. Importieren Sie die SQL-Dump-Datei in Ihre MySQL-Datenbank mit dem folgenden Befehl, indem Sie username, password und target_database_name durch Ihren MySQL-Benutzernamen, Ihr Passwort und den Namen der Ziel-Datenbank ersetzen:
    mysql -u username -p target_database_name < backup.sql
  4. Sie werden aufgefordert, das Passwort für den MySQL-Benutzer einzugeben.
  5. Der Befehl importiert den Inhalt von backup.sql in die angegebene Datenbank.

Tipps für große Datenbanken

  • Dateien aufteilen: Für sehr große Datenbanken sollten Sie Ihre Dump-Datei in kleinere Teile aufteilen, um Speicherprobleme während des Imports zu vermeiden. Verwenden Sie dazu Tools wie mysqldumpsplitter.pl.
  • Zeitüberschreitungseinstellungen erhöhen: Wenn Sie mit einem webbasierten Tool wie phpMyAdmin arbeiten und Zeitüberschreitungen auftreten, erhöhen Sie die PHP-Ausführungszeit oder verwenden Sie Befehlszeilenwerkzeuge, die weniger anfällig für Zeitüberschreitungen sind.
  • Abfragen optimieren: Für schnellere Imports deaktivieren Sie vor dem Import foreign key checks und auto-commit:
    SET FOREIGN_KEY_CHECKS=0;
    SET AUTOCOMMIT=0;
    Stellen Sie sicher, dass Sie diese nach Abschluss des Imports wieder aktivieren.

Fehlerbehebung

  • Fehler 1064 (42000): You have an error in your SQL syntax. Dies deutet normalerweise auf ein Problem mit der Dump-Datei hin. Stellen Sie sicher, dass der Dump korrekt erstellt wurde und nicht beschädigt ist.
  • Zugriff verweigert: Überprüfen Sie, ob Sie den richtigen MySQL-Benutzernamen und das richtige Passwort verwenden und ob der Benutzer die notwendigen Berechtigungen zum Durchführen der Export- oder Importoperationen hat.