Zum Inhalt springen

MySQL-Datenbank wiederherstellen (Import)

Zuletzt geprüft

Eine MySQL-Datenbank spielst du aus einer .sql-Datei zurück — entweder per mysql über SSH oder mit phpMyAdmin im Browser. Für alles außer Mini-Datenbanken empfehlen wir den SSH-Weg; phpMyAdmin bricht bei größeren Importen gern am Upload- oder Laufzeit-Limit ab.

  • Eine leere Ziel-Datenbank samt Benutzer. Importierst du in eine Datenbank, die die alten Tabellen noch enthält, scheitert der Import (siehe unten). Bei Bedarf eine frische Datenbank anlegen.
  • Die .sql-Datei auf dem Server — für den SSH-Weg per SFTP hochladen (gleiche Zugangsdaten wie beim SSH-Zugang).
  • Die Zugangsdaten der Ziel-Datenbank: Benutzer und Passwort.

Funktioniert für Datenbanken jeder Größe.

  1. Verbinde dich per SSH und wechsle in den Ordner mit der .sql-Datei:
    Terminal-Fenster
    cd ~/backups
  2. Starte den Import — DBBENUTZER, DBNAME und den Dateinamen ersetzen:
    Terminal-Fenster
    mysql -u DBBENUTZER -p DBNAME < DBNAME.sql
    Beachte das < (Eingabe-Umleitung) — beim Export war es >. Verwechseln überschreibt die Sicherung.
  3. Gib das Passwort des Datenbank-Benutzers ein. Je nach Größe dauert der Import einige Minuten — fertig ist er, sobald die Kommandozeile ohne Fehlermeldung zurückkommt.
  4. Prüfe das Ergebnis, etwa über die Tabellen-Liste:
    Terminal-Fenster
    mysql -u DBBENUTZER -p DBNAME -e "SHOW TABLES;"
    Erscheinen die erwarteten Tabellen, ist der Import durchgelaufen.

phpMyAdmin läuft im Browser und unterliegt damit Upload- und PHP-Laufzeit-Limits. Für kleine Datenbanken reicht das:

  1. Öffne in Plesk den Bereich Datenbanken und klick bei der Ziel-Datenbank auf phpMyAdmin.
  2. Wähl links in der Leiste die leere Datenbank aus.
  3. Klick oben im Menü auf Importieren, wähl unter Datei zum Importieren deine .sql-Datei und bestätige mit OK.

Das eingegebene Datenbank-Passwort ist falsch. Es ist nicht das Panel- oder Kundencenter-Passwort — jeder Datenbank-Benutzer hat ein eigenes.

Lösung: Passwort aus der Konfigurationsdatei deiner Anwendung auslesen oder im Panel zurücksetzen — Schritt für Schritt im 1045-Artikel.

Fehler 1227 oder Access denied; you need ... SUPER privilege

Abschnitt betitelt „Fehler 1227 oder Access denied; you need ... SUPER privilege“

Der Dump enthält einen DEFINER für Views, Trigger oder Prozeduren, der auf dem Zielserver nicht existiert.

Lösung: Den DEFINER aus der .sql-Datei entfernen oder anpassen — Schritt für Schritt im 1227-Artikel.

Die Ziel-Datenbank ist nicht leer — der Standard-Dump enthält keine DROP TABLE-Befehle und legt die Tabellen daher zusätzlich an.

Lösung: In eine frisch angelegte, leere Datenbank importieren oder die vorhandenen Tabellen vorher löschen.

Die Datei überschreitet das Upload- oder Laufzeit-Limit im Browser.

Lösung: Den Import per SSH durchführen — der kennt diese Limits nicht.

Wenn der Import trotz leerer Datenbank und korrekter Zugangsdaten scheitert: Ticket im Kundencenter öffnen. Nenn den genauen Befehl (ohne Passwort!) und die vollständige Fehlermeldung — bei DEFINER- oder Charset-Themen sehen wir die Ursache sofort.