MySQL-Dump lokal einspielen

Warum bietet der phpMyAdmin eigentlich keine Lösung dafür, Daten die auf dem Server liegen direkt einzuspielen? Auch in der letzten 3er Version gibt es nur den grausamen HTTP-Upload. Macht nicht wirklich Spaß größere Dumps zu übertragen, auch wenn es lokal stattfindet.

Naja, zum Glück gibt es SSH für Webserver und lokal unter Windows können wir das ganze noch einfacher erledigen.

Zuerst muss eine neue Datenbank erstellt werden. Dies kann man entweder per phpMyAdmin oder per Kommandozeile erledigen:
C:\xampp\mysql\bin>mysqladmin –user=root create datenbankname
Danach kann der Dump (in meinem Fall 390MB groß) eingespielt werdem:
C:\xampp\mysql\bin>mysql –user=root datenbankname < C:\backup2010_02_12__23_00.sql
(evtl. muss noch ein Passwort mit –pass=xxx angegeben werden)

Wenn nach einer kurzen Wartezeit keine Fehlermeldung auftaucht, hat alles geklappt.

Vermutlich wird es aber (bei größeren Dumps) zu einer Fehlermeldung ähnlich dieser kommen:
ERROR 2006 (HY000) at line 51206: MySQL server has gone away
(Die Zeilennummer wird natürlich nicht die selbe sein)

Die Meldung ist ziemlich sinnlos, die Lösung relativ einfach.
In der my.ini muss der Wert für die maximale Packetgröße einer SQL-Query erhöht werden:
max_allowed_packet = 16M
Der Standard-Wert ist 1M.

0 Responses to “MySQL-Dump lokal einspielen”


  • No Comments

Leave a Reply