在我看来,这似乎是一个常见的用例,所以我感到惊讶的是,关于它的信息如此之少,如果它是一个副本,那么很抱歉,但是我已经搜索了。:)
我正在将客户端网站从一个CMS迁移到另一个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我还试图使用更老的语法,方法是使用--兼容的mysql323转储,但这只会导致
ERROR 1062 (23000) at line 2283: Duplicate entry '??????????' for key 2`...在我看来,这一定是一个相当常见的用例,但我在这方面找不到任何帮助。可能我所有的谷歌搜索都被无关的答案淹没了。大多数人似乎同意mysqldump是正确的答案,但没有人提到您可以得到语法错误.
发布于 2011-02-19 14:16:26
在我将所有PRIMARY KEY TYPE BTREE更改为PRIMARY KEY USING BTREE后,导入成功。我不知道这种改变是否正确,但我想我们会看到.
发布于 2011-02-19 12:45:35
用于迁移的的确有网站上的MySQL文档。也许这个能帮上忙?
https://serverfault.com/questions/237600
复制相似问题