有没有人在这里尝试采取一个硬皮的旧的MySQL 3.23数据库,并一直升级到MySQL 5或5.1? 我已经find了一些这方面的信息,但不是很多。 目前为止我读到的是在升级时最好不要跳过主版本号。 所以我必须从3.23 – > 4.xx – > 5。
如果有人有直接的经验和一些build议,我很乐意听取您的意见。
表格可以很容易地迁移。 没什么大不了的。 但查询是问题。 自3.23至5.x之后发生了很多变化,如果你有更复杂的sqls,那么从1> 2的条中select,最有可能在5.x上产生不同的结果。 运算符优先级,embedded式函数等。
我build议你在一些非生产服务器上运行mysql 3和5.x中相同的数据库,运行你所有的select,并validation你是否得到相同的结果,然后去更新/插入/删除,无论你有什么,再次运行select。
我实际上做了一个MySQL 3.23迁移到MySQL 5.0.45的一些小dbs,与非常简单的模式,我不得不调整了很多的查询,所以他们将工作在较新的版本。 另一件事 – 你不能简单地将my.cnf复制到3到5,并期望工作 – 在那里也改变了很多东西。 当从5.0.10-something移动到5.0.45时,当高版本中没有configuration文件中的某些默认值不同时,我被烧了。
和最后一件事,如果你使用mysql复制,你不能有MySQL 3.x奴隶和MySQL 4.x(不知道约5)主人。 相反的方式很好。
在我的商店,我们喜欢认为数据库服务器是“圣地”,应该被视为如此:)
是的,程序是直截了当的,只是提防旧密码! 3.x和5.x使用不同的密码()函数。 所以,如果你有使用密码()的表,你必须知道这一点。 尝试使用您的平台软件包安装或二进制文件。 编译不适用于新用户。
确保使用mysqldump备份所有数据库,并在升级之前制作/etc/my.cnf的副本。
此外,请务必阅读您要升级到的版本的文档。
最后,在完成后运行mysql_upgrade 。