Назад | Перейти на главную страницу

Миграция с mysql 4 на mysql 5

Мне кажется, что это обычный вариант использования, поэтому я удивлен, что об этом мало информации, извините, если это дубликат, но я иметь искал. :)

Я переношу клиентский веб-сайт с одной CMS на другую и одновременно перехожу на более новые, более быстрые машины. В рамках этого я перемещаю базу данных MySQL со старого сервера на новый.

Проблема в том, что старый сервер запускает MySQL 4 и новый MySQL 5. Поэтому, когда я выполняю mysqldump на старом сайте, а затем попытаюсь запустить его на новом сайте, я получаю синтаксические ошибки.

ERROR 1064 (42000) at line 178: 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 'BTREE (`id`),
  KEY `f_ChangedOnWeb` (`f_ChangedOnWeb`),
  KEY `f_AddressUpdate`' at line 56

Я также попытался использовать еще более старый синтаксис, сбрасывая с помощью --compatible mysql323, но это просто привело к

ERROR 1062 (23000) at line 2283: Duplicate entry '??????????' for key 2`...

Мне кажется, что это довольно распространенный вариант использования, но я не могу найти никакой помощи по этому поводу. Возможно, все мои поисковые запросы в Google просто тонут в нерелевантных ответах. Большинство, похоже, согласны с тем, что mysqldump - правильный ответ, но никто не упоминает, что вы можете получить синтаксические ошибки ...

Импорт прошел успешно после того, как я изменил все PRIMARY KEY TYPE BTREE к PRIMARY KEY USING BTREE. Я не знаю, правильное это изменение или нет, но, думаю, посмотрим ...

Там есть документация на сайте MySQL для миграции. Может это поможет?