将 mysql 4 迁移到 mysql 5

将 mysql 4 迁移到 mysql 5

在我看来,这是一个常见的用例,所以我很惊讶关于它的信息如此之少,如果是重复的,我很抱歉,但我搜索过了。:)

我正在将客户网站从一个 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

我还尝试使用更老的语法,通过使用 --compatible mysql323 进行转储,但这只会导致

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

在我看来这肯定是一个相当常见的用例,但我找不到任何帮助。可能我所有的谷歌搜索都淹没在无关的答案中。大多数人似乎都同意 mysqldump 是正确的答案,但没有人提到你可能会得到语法错误...

答案1

MySQL 网站上的迁移文档。也许这会有帮助?

答案2

PRIMARY KEY TYPE BTREE我把所有内容都改成 后,导入成功了PRIMARY KEY USING BTREE。我不知道这个改变是否正确,但我想我们会看到...

相关内容