这里有没有人尝试过将老旧的 MySQL 3.23 数据库升级到 MySQL 5 或 5.1?我找到了一些这方面的信息,但不是很多。到目前为止,我读到的是,升级时最好不要跳过主要版本号。所以我必须从 3.23 -> 4.xx -> 5。
如果有人有直接经验和一些建议,我很乐意听取您的意见。
答案1
表可以轻松迁移。没有什么大不了的。但查询是个问题。从 3.23 到 5.x 发生了很多变化,如果你有更复杂的 sql,然后从 bar 中选择 1>2,那么它们很可能会在 5.x 上产生不同的结果。运算符优先级、嵌入函数等。
我建议你在一些非生产服务器上运行 mysql 3 和 5.x 上的相同数据库,运行所有选择并验证是否获得相同的结果,然后进行更新/插入/删除以及任何你拥有的操作并再次运行选择。
实际上,对于一些小型数据库,我将 mysql 3.23 迁移到 mysql 5.0.45,使用非常简单的模式,我不得不调整很多查询以便它们可以在新版本上运行。还有一件事 - 你不能简单地将 my.cnf 从 3 复制到 5 并期望它能工作 - 其中很多东西也发生了变化。当我从 5.0.10 升级到 5.0.45 时,一些配置文件中没有的默认值在更高版本中有所不同,这让我很头疼。
最后,如果您使用 mysql 复制,您就不能有 mysql 3.x 从属服务器和 mysql 4.x(不确定 5)主服务器。反过来就没问题。
在我的商店中,我们认为数据库服务器是“圣地”,并且应该这样对待:)
答案2
是的,这个过程很简单,只要小心旧密码!3.x 和 5.x 使用不同的 password() 函数。因此,如果您有使用 password() 的表,您必须注意这一点。尝试使用您的平台包安装或二进制文件。编译不适合新用户。
确保使用以下方法备份所有数据库mysqldump并复制您的/etc/my.cnf升级之前。
此外,请务必阅读您要升级到的 mysql 版本的文档。
最后,运行mysql_upgrade当你完成的时候。