Aktuelles & Updates von
Joomla, Wordpress und Co.
News, HowTos und Tutorials rund um Webdesign, Webentwicklung, Webhosting und Digitalisierung.
USING BTREE Fehler bei MySQL Import
Wurde ein Datenbankdump mit einer MySQL Version 5.1 erzeugt und soll dieser in einer MySQL Datenbank der Version 5.0 importiert werden, so kann es zu dem folgenden Fehler kommen:
ERROR 1064 (42000) at line 1561: 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 ‘USING BTREE, …
Schuld daran ist das veränderte SQL Syntax der Version 5.1.
Aufgrund eines fehlenden Kompatibilitätsschalters beim Export ( wie zum Beispiel mysqldump -comptability=mysql50 ) bleibt hier nur die Möglichkeit, den Dump an das 5.0 Syntax anzupassen.
Unter Linux geht dies über die Konsole:
1 |
sed -i -r 's/\(([^)]+)\) USING BTREE/USING BTREE (\1)/g' mydump.sql |
Alternativ auch im Dump die Stelle mit "USING BTREE" suchen und einfach entfernen, oder tauschen ...
mysql50 erzeugt:
UNIQUE KEY IDX_BASE USING BTREE ( entity_type_id, entity_id, attribute_id, store_id ),
mysql51 erzeugt:
UNIQUE KEY IDX_BASE( entity_type_id, entity_id, attribute_id, store_id ) USING BTREE,