这在我看来是一个常见的用例,所以我很惊讶这么less的信息是关于它的,所以对不起,如果它是重复的,但我已经search。 🙂
我正在将一个客户端网站从一个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`...
在我看来,这一定是一个相当普遍的用例,但是我找不到任何帮助。 可能我所有的Googlesearch都被无用的答案淹没了。 大多数人似乎都认为,mysqldump是正确的答案,但没有人提到你可以得到语法错误…
MySQL网站上有关于迁移的文档。 也许这有帮助?
PRIMARY KEY USING BTREE将所有PRIMARY KEY TYPE BTREE更改为PRIMARY KEY TYPE BTREE后导入成功。 我不知道这个改变是否正确,但我想我们会看到…