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