由于我的托管服务提供商过去,我想知道是否可以将MYSQL 4.0服务器复制到5.0服务器。
目前我已经有了运行4.1的slave,它工作正常,但我真的错过了MYSQL 5.0中存在的功能。
如果不可能,我可以从运行4.1的奴隶复制到另一个运行5.0的奴隶吗?
可悲的是,我的托管服务提供商不会对该版本感到满意。
由于
答案 0 :(得分:2)
正式地说,最多支持跨版本复制,只有一个主要的版本差异。也就是说,支持4.1 master到5.0 slave,但4.0 master到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有点荒谬,并希望你能从更现代的版本中获益。
这就像从Model T Ford升级到VW Bug,以获得更好的舒适性和燃油经济性。
我知道你说你不能离开这个托管服务提供商,但如果你不能放弃旧的MySQL 4.0版本,你必须要有很多不便。