是否有人找到了绕过MySQL 5.7的方法,坚持认为它必须有一个server_UUID
。
我目前在不同的站点上有多个MySQL 5.5实例,并且希望查看升级到MySQL 5.7。为此,我计划使用一些MySQL 5.7数据库建立一个测试站点,这些数据库作为主站点上的一组主>从数据库运行。
但这在第一个障碍失败,因为MySQL 5.7坚持大师必须有一个SERVER_UUID
!整理正式文档,告诉我们在升级主程序之前,应该升级从数据库。
换句话说,在升级到MySQL 5.7时,奴隶必须是MySQL 5.7,然后才能将主服务器升级到5.7。
http://dev.mysql.com/doc/refman/5.7/en/replication-upgrade.html
就目前情况而言,唯一的选项似乎是安装、配置和测试MySQL 5.6的副本(我永远不会使用它),以充当我的活动系统和测试系统之间的中间层。但是,当尝试像5.5之间的测试一样运行时,这只会带来大量额外的复杂性。和5.7奴隶(例如,是MySQL 5.7造成问题X,还是MySQL 5.6在经过等的过程中做了一些事情)。
我看到这里有一个BUG报告,自那以后,他们决定它实际上不是一个BUG,而是一个特性!
发布于 2016-09-07 10:09:53
问题是MySQL 5.5不支持GTID,但默认情况下MySQL 5.7会激活GTID。
正如MySQL手册所建议的,您可以在5.7奴隶上禁用GTID来执行测试,然后,当您的所有服务器升级到5.7时,可以在主服务器和从服务器上激活GTID。
有关详细信息,请参阅http://dev.mysql.com/doc/refman/5.7/en/replication-upgrade.html。
如果要将现有复制安装程序从不支持全局事务标识符的MySQL版本升级到支持全局事务标识符的版本,则在确保设置满足基于GTID的复制的所有要求之前,不应在主或从服务器上启用GTID。例如,在GTID 5.6中添加的server_uuid必须存在才能正常工作。参见18.1.3.2节“使用GTID设置复制”,其中包含有关将现有复制设置转换为使用基于GTID的复制的信息。
发布于 2016-06-06 16:00:54
- 2014-09-25 5.7.5里程碑15 -功能增加或改变-复制
当从运行版本早于MySQL 5.6.0的主服务器复制到运行MySQL 5.6.0或更高版本的从服务器时,从服务器需要master_uuid值,即来自主服务器的server_uuid ( http://dev.mysql.com/doc/refman/5.7/en/replication-options.html#sysvar_服务器_uuid )值。旧主服务器不支持master_uuid值,在这种复制情况下,较新的从服务器上可能会变得无效。现在,对空master_uuid的检查可以确保从节点为master_uuid使用一个空值。(Bug #18338203)
https://dba.stackexchange.com/questions/139622
复制相似问题