由于我的托管服务提供商生活在过去,我想知道是否可以将 MYSQL 4.0 服务器复制到 5.0 服务器。
目前我已经有运行 4.1 的从站,它工作正常,但我真的错过了 MYSQL 5.0 中存在的功能。
如果不可能,是否可以从运行 4.1 的从属复制到另一个运行 5.0 的从属?
可悲的是,我的托管服务提供商不会对版本做出让步。
谢谢
由于我的托管服务提供商生活在过去,我想知道是否可以将 MYSQL 4.0 服务器复制到 5.0 服务器。
目前我已经有运行 4.1 的从站,它工作正常,但我真的错过了 MYSQL 5.0 中存在的功能。
如果不可能,是否可以从运行 4.1 的从属复制到另一个运行 5.0 的从属?
可悲的是,我的托管服务提供商不会对版本做出让步。
谢谢
官方最多支持一个主要版本差异的跨版本复制。即支持4.1 master to 5.0 slave,但不支持4.0 master to 5.0 slave。不是它不能工作,而是他们没有测试它,所以他们没有办法保证它有效。
请参阅http://dev.mysql.com/doc/refman/5.0/en/replication-compatibility.html
可以从 4.0 复制到 5.0,至少有限制。我只是在 Linux VM 上设置了这样一个配置来测试它,虽然我没有测试广泛的查询——只是一个CREATE TABLE test.foo
. 因此,至少一个最低限度的复制配置可以工作:从属设备进行身份验证、接收二进制日志并开始执行语句。
但是查询有几种向后兼容性问题。有些你可以减轻:
NOT
将无法正确运行。SELECT * FROM A, B JOIN C ON C.x=A.y
5.0 的中断。这不一定是一个全面的列表,只是我立即想到的。
您还应该阅读升级手册页以查找其他非向后兼容性的情况,并查看它们是否适用于您的应用程序。其中大部分是不常见的情况,但我们不知道它们是否适用于您的应用程序:
您已经明白这有点荒谬,将大约 2003 年的 MySQL 复制到大约 2005 年的 MySQL,并期望您获得更现代版本的好处。
这就像从 T 型福特升级到大众 Bug,以获得更好的舒适性和燃油经济性。
我知道你说过你还不能离开这个托管服务提供商,但是如果你不能放弃旧的 MySQL 4.0 版本,你不得不期待很多不便。