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

Mysql 5.7中Gtid和Last_commt/sequnce_number的生成时机是什么

文章页正文上

本篇内容主要讲解“Mysql 5.7中Gtid和Last_commt/sequnce_number的生成时机是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql 5.7中Gtid和Last_commt/sequnce_number的生成时机是什么”吧!
这里首先使用源码的解释给出三种类型:
AUTOMATIC_GROUP
GTID_GROUP
ANONYMOUS_GROUP
其中AUTOMATIC_GROUP通常用于主库开启Gtid的情况,GTID_GROUP通常用于备库和使用了GTID_NEXT的情况下。
源码中有详细解释如下:
Gtid其实是在commit的时候调用MYSQL_BIN_LOG::ordered_commit执行到flush 阶段产生Gtid event的时候才生成,生成后会将这个Gtid 加入到Gtid_state的Owned_gtids中,实际上这个过程不仅要生成Gtid还会生成sequence_number和last_commit并且会构造Gtid_event写入到binlog cache最后将binlog cache写入到binlog file,下面是binl免费主机域名og_cache_data::flush函数的片段:
下面是mysql_bin_log.write_gtid中生成Gtid和Last_commt/sequnce_number的代码片段:
其调用栈帧如下:
接下来我们就需要具体研究下一个Gtid是依靠什么逻辑生成的。我们需要查看函数Gtid_state::generate_automatic_gtid和Gtid_state::get_automatic_gno逻辑,他们用于生成一个Gtid。
接下免费主机域名来看看gno的生成逻辑Gtid_state::get_automatic_gno。到此,相信大家对“Mysql 5.7中Gtid和Last_commt/sequnce_number的生成时机是什么”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: 安装Percona mysql的时候出现依赖包错误怎么办

这篇文章给大家分享的是有关安装Percona mysql的时候出现依赖包错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装Percona mysql的时候出现依赖包错误[root@localhost upload]# rp…

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

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

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

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

登录

找回密码

注册