分享更有价值
被信任是一种快乐

mysql中如果将relay_log_recovery设置为0会出现什么后果

文章页正文上

这篇文章免费主机域名将为大家详细讲解有关mysql中如果将relay_log_recovery设置为0会出现什么后果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在MySQL5.7版本中,开启并行复制后,设置relay-log-recovery=1,从库启动后偶尔会报错,类似于https://bugs.mysql.com/bug.php?id=83713。所以尝试将relay-log-recovery设置为0,观察会发生什么。MySQL5.7.22GTID模式relay-log-recovery=0relay_log_purge=offsync_relay_log = 10000relay_log_info_repository = TABLE不开启并行复制停掉slave,查看相关信息关闭数据库stopmysql
查看最后一个relaylog中的最后一个事务的GTID为2662c965-fdb2-11e8-8157-0cc47a3aae0d:11822
用以下命令模拟relaylog丢失,这样mysql重新启动的时候初始化的Retrieved_Gtid_Set集合会比Executed_Gtid_Set集合小
启动数据库startmysql
查看复制状态是否正常,复制正常。
且看到是从2662c965-fdb2-11e8-8157-0cc47a3aae0d:11823开始拉取binlog,因为UNION的GTID集合为2662c965-fdb2-11e8-8157-0cc47a3aae0d:1-11822。
查看error.log相关信息
查看下个relaylog信息查看再下个relaylog信息,发现是从2662c965-fdb2-11e8-8157-0cc47a3aae0d:11823开始拉取日志
再次查看mysql-relay-bin.000017中的内容,最后记录如下,多了WARNING的信息
停掉slave的sql线程,模拟Retrieved_Gtid_Set > Executed_Gtid_Set,如下:关闭数据库stopmysql
查看mysql-relay-bin.000011最后一个事务GTID为2662c965-fdb2-11e8-8157-0cc47a3aae0d:7604
执行以下命令将GTID为2662c965-fdb2-11e8-8157-0cc47a3aae0d:7600的事务截掉一半,2662c965-fdb2-11e8-8157-0cc47a3aae0d:7601、2662c965-fdb2-11e8-8157-0cc47a3aae0d:7602、2662c965-fdb2-11e8-8157-0cc47a3aae0d:7603、2662c965-fdb2-11e8-8157-0cc47a3aae0d:7604全部抹掉
启动数据库startmysql
查看复制状态是否正常,显示正常。
查看error.log
查看下一个relaylog的信息
查看再下一个relaylog的信息,发现确实会重新去拉取2662c965-fdb2-11e8-8157-0cc47a3aae0d:7600这个GTID对应的日志
|总结从error.log中能看到,MySQL重启后,Slave SQL thread会根据mysql.slave_relay_log_info表中记录的位置点信息去starting replication观察两种情况下error.log日志中内容,发现:Retrieved_Gtid_Set Retrieved_Gtid_Set,UNION集合就是Executed_Gtid_Set,所以新生成的relaylog里拉取的第一个GTID是Executed_Gtid_Set的下一个GTID,SQL线程正常回放。Retrieved_Gtid_Set > Executed_Gtid_Set下,error.log中有如下信息。因为在Executed_Gtid_Set小于Retrieved_Gtid_Set情况下,被截断的GTID还未被执行,所以SQL线程会尝试去执行,执行了发现事务不完整,会进行rollback;且MySQL启动后,这个不完整的事务会被放到last_received_GTID中,这样MySQL会根据UNION(@@global.gtid_executed, Retrieved_gtid_set – last_received_GTID)集合,IO线程会重新拉取这个不完整的事务,此时拉免费主机域名取后事务完整,SQL线程正常回放。关于“mysql中如果将relay_log_recovery设置为0会出现什么后果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关推荐: DKhadoop环境的安装配置步骤

这篇文章主要讲解了“DKhadoop环境的安装配置步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DKhadoop环境的安装配置步骤”吧!1.修改权限步骤:在准备工作中拷贝安装包DKHPlantform.zi…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册