• 11. November 2011
  • 0
  • Technik
  • Import von MySQL-Datenbank bricht ab

    Ich musste vor kurzem eine WordPress-Datenbanksicherung lokal wiederherstellen. Dabei bin ich auf ein paar Probleme gestoßen, die ich euch nicht vorenthalten will. Vielleicht hilft es ja dem ein oder anderen…

    Fehler #1064

    Nachdem ich die bereits vorhandene Datenbank per phpMyAdmin gelöscht habe, wollte ich den Dump importieren. Ich erhalte die Fehlermeldung

    SQL-Befehl:
    --
    -- Create and use the backed up database
    --
    CREATE DATABASE db123456 - main;
    
    MySQL meldet: 
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-main' at line 5 

    Der merkwürdige Datenbankname ist nicht auf meinem Mist gewachsen, sondern entstammt meinem Internet Service Provider. Eins fällt aber auf: die Datenbank heißt nicht db123456 - main sondern db123456-main. Anscheinend kann phpMyAdmin nicht mit Bindestrichen umgehen und denkt das ist ein Parameter. Keine Ahnung warum der Fehler früher noch nicht aufgetreten ist.

    Lösung

    Öffnet die Datenbank mit einem Texteditor und ändert den Datenbanknamen:

    CREATE DATABASE db123456-main;
    USE db123456-main;

    in

    CREATE DATABASE wordpress;
    USE wordpress;

    Denkt aber daran den neuen Namen in der WordPress Konfiguration wp-config.php anzupassen.

    Damit aber nicht genug der Probleme, den der Import brach kurze Zeit später erneut ab.

    Fehler #1153 oder #2006

    #1153 - Got a packet bigger than 'max_allowed_packet' bytes

    oder

    #2006 - MySQL server has gone away

    Vermutlich ist ein Datenpaket größer als es die Einstellungen des lokalen MySQL-Servers zulassen.

    Lösung

    Um dieses Problem zu beheben, öffnet die Konfigurationsdatei des MySQL-Servers, die my.ini. Diese findet ihr bei einer Xampp Installation im Verzeichnis ..xamppmysqlbin.

    Sucht nach dem Eintrag

    [mysqld]
    max_allowed_packet = 1M

    und ändert diesen auf

    [mysqld]
    max_allowed_packet = 32M

    Denkt daran, dass ihr den MySQL-Windowsdienst vor dem Import neu startet, damit die Änderung aktiv wird.

    Danach hat der Import dann ohne Probleme funktioniert.

    Dein Kommentar