ERROR 2006 (HY000) at line 137: MySQL server has gone away

Wenn man, wie ich einen großen MySQL-Dump (ca. 150 MB) mit

mysql -u root -p -D testdb < dump.sql

importieren will und dabei auf folgenden Fehler stößt,

ERROR 2006 (HY000) at line 137: MySQL server has gone away

kann man folgende zwei Dinge ausprobieren. Ich hatte dann am Ende beide benutzt.

1. maxallowedpacket erhöhen

In der MySQL-Config (bei ArchLinux unter /etc/mysql/my.cnf) den Eintrag max_allowed_packet suchen und erhöhen, z.B. auf

max_allowed_packet = 32M

Das ist ein sehr hoher Wert wenn man bedenkt, dass der default Wert 1M ist. Falls man auf einem Produktivsystem ist, sollte man nach dem Import wieder den alten Wert einstellen. Nicht vergessen den MySQL-Server nach Bearbeitung der config neuzustarten.

2. mysqldump Optionen ändern

Wichtig ist hierbei die option --skip-extended-insert auszuschalten, die per default eingeschaltet ist. Mein mysqldump Export Befehl sah dann am Ende so aus:

mysqldump -B dbname -u root -p -t --skip-extended-insert --skip-add-drop-table --skip-create-options > dump.sql

Vielleicht hilft's!