有哪些MySQL源码系列问题

技术有哪些MySQL源码系列问题本篇内容介绍了“有哪些MySQL源码系列问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

本文介绍了“MySQL源代码系列有哪些问题?”很多人在实际案例的操作中会遇到这样的困难。让边肖带领你学习如何处理这些情况。希望大家认真阅读,学点东西!

一.trigger的event到底怎么回放的,为什么没有主键冲突?

上次分享的时候,我在binlog中介绍了trigger trx的事件顺序。

gtid事件

查询事件

table_map_event(表1)

table_map_event(表2)

rows _ event(表1)

rows _ event(表2)

xid_event

实际上是奴隶。

回放的时候,他没有拿服务器层的创建连接,而是执行了语句。相反,它在每个事件中直接调用do_apply_event。例如,表映射事件将保存表的元信息。

要写入_ rows _ event,slave调用以下函数。

| - do_exec_row

| - write_row

|-handler : ha _ write _ row

| - write_row

可以看到引擎层的innodb:write_row被调用。

插入数据。

综上所述,我们可以看到触发trx。

当从机回放时,它实际上会绕过触发器,直接将数据提交给存储引擎进行操作。所以不会出现我们开头说的主键冲突的问题。

第二,trx。

的实际生成顺序。

我们说trx由事件组成。例如,insert语句包含gtid_log_event、query_log_event,

table_map_log_event,write_rows_log_event,xid_log_event

我们说这些事件是在trx提交时生成的,但实际上它们不是。它们的实际生成顺序如下:

Gtid事件和Xid事件在ordered_commit函数中生成。这涉及到binlog和重做日志的一致写入。

表格映射事件

在binlog_write_table_map函数中生成,其中接收的参数有trans,标志是否为事务,需要_binlog_rows_query,是否生成rows_query_log_event。

在函数binlog_write_table_nap中。

在函数中,调用binlog_start_trans_and_stmt在此函数中生成query_log_event。

最后,调用write事件。

生成的事件缓存在thd的binlog_chache中。

生成订单: table _ map _ log _ event,query _ log _ event,[row _ query _ log _ event]。

缓存顺序: query _ log _ event,[row _ query _ log _ event],table _ map _ log _ event。

然后生成xid事件,最后在ordered_commit函数中生成gtid事件。

声明

格式:

没有table_map_event。

和row_event生成顺序。

生成顺序:query_log_event (save语句)、query_log_event(begin)、xid事件、gtid事件。

binlog_write_table_map

在中生成table_map_event,使用table_map_log_event的另一个构造函数从table对象中获取表信息,构造table_map_log_event。

然后调用binlog_start_trans_and_stmt生成query _ log _ event(query _ log中设计的常规trx和xa用例),再调用cache_data的write_event写事件。

这里介绍一下“MySQL源代码系列有哪些问题”的内容。感谢阅读。如果你想了解更多行业,关注网站,边肖将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/53574.html

(0)

相关推荐

  • mapboxgl源码分析(mapboxgl 是否开源)

    技术mapbox-gl开发中如何集成deck.gl小编给大家分享一下mapbox-gl开发中如何集成deck.gl,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! deck.gl是由uber开发出来的

    攻略 2021年12月22日
  • 低价刷粉网站推广,抖音作品怎么没有人点赞?

    技术低价刷粉网站推广,抖音作品怎么没有人点赞?低价刷粉网站推广,抖音作品怎么没有人点赞?抖音作为一个社交性很强的短作品内容平台,当然想获得抖音中心的流量分发,抖音的内容必须符合优质内容的本质。首先要明白抖音的推荐机制,有

    测评 2021年11月11日
  • 一什么狗尾草,狗尾巴草有什么象征意义吗

    技术一什么狗尾草,狗尾巴草有什么象征意义吗象征不被人了解的爱,但却可以为她默默付出……默默的爱一个人,默默的看他(她),默默的为他(她),默默的为他(她)做着一切,但仅仅只是默默,无声无息的爱犹如狗尾巴草,狗尾巴草的爱情

    生活 2021年10月22日
  • leetode24两两交换链表中的节点

    技术leetode24两两交换链表中的节点 leetode24_两两交换链表中的节点一、题目二、算法分析
    我主要想着通过while循环自己交换,前面两个单独考虑,后面的都是一样的处理。
    因为前面的两个需

    礼包 2021年11月9日
  • html5map标签的用法(html5 map标签)

    技术html5中map标签怎么用小编给大家分享一下html5中map标签怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月17日
  • 中国标志性建筑,中国著名建筑有哪些?急急急

    技术中国标志性建筑,中国著名建筑有哪些?急急急北京故宫是中国明清两代的皇家宫殿,旧称为紫禁城,位于北京中轴线的中心,是中国古代宫廷建筑之精华。北京故宫以三大殿为中心,占地面积72万平方米,建筑面积约15万平方米,有大小宫

    生活 2021年10月27日