Magento / Import in MySQL 5.0 – USING BTREE Error

19. November 2010 at 17:22

Wenn ihr ein MySQL-Datenbank-Dump in eine MySQL 5.0 importieren möchtet welche mit mysqldump auf einer 5.1 erzeugt wurde, dann bekommt ihr höchstwahrscheinlich eine Fehlermeldung wie die folgende:

Der Grund ist dass die key syntax von 5.0 auf 5.1 wie folgt geändert wurde:
mysql50
UNIQUE KEY IDX_BASE( entity_type_id, entity_id, attribute_id, store_id ) USING BTREE,
mysql51
UNIQUE KEY IDX_BASE USING BTREE ( entity_type_id, entity_id, attribute_id, store_id ),

Leider gibt es kein aktuellen Kompatabilitäts-Modus like –comptability=mysql50 in mysqldump.
Es kann zwar mysqldump –comptability=mysql40 benutzt werden, allerdings auf eigene Gefahr 😉

Mit dem folgenden Befehl könnt ihr in der Bash den dump vor dem Import bereinigen (benutzt das consolen-programm „sed“):

sed -i -r 's/\(([^)]+)\) USING BTREE/USING BTREE (\1)/g' magento.sql

MySQL Datenbank Import ERROR 2006 (HY000) – MySQL Server has gone away – Lösung

1. Juli 2010 at 16:56

Wenn ihr beim Import eines MySQL-Datenbank-Dumps folgende Fehlermeldung erhaltet:

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

dann könnt ihr das durch setzen der „max_allowed_packet = 1M“ von 1MB zu „max_allowed_packet = 32M“ lösen.
und zwar unter dem Abschnitt mysqld in der my.ini, also:

[mysqld]
max_allowed_packet=32M