以下为个人总结,如有问题,欢迎提出

sql:update test set name = 'test' where id=2;

事务完整流程:

1.事务开始

2.申请锁资源,对id=2这行数据上排他锁

3.将需要修改的data pages读取到innodb_buffer_cache

4.记录id=2的数据到undo log

5.记录id=2修改后的数据到redo log buffer

6.将buffer cache中id=2得name改为test

7.commit,触发二阶段提交2pc

8.事务结束

知识点科普:

WAL:write ahead logging

针对数据文件的修改,必须遵循日志先行原则。也即是将数据持久化到磁盘之前必须确保redo log落盘。

二阶段提交(2pc two phase commit):

二阶段提交,首先redo log prepare,然后写入binlog,最后redo log commit。主要是保证redo log事务写入顺序和binlog 事务顺序一致(通过事务id保证一致)。

完整流程如下:

prepare阶段:redo持久化到磁盘(redo group commit),并将回滚段置为prepared状态,此时binlog不做操作

commit阶段:innodb释放锁,释放回滚段,设置undo log提交状态,binlog持久化到磁盘,然后存储引擎层提交

mysql过程分析_mysql事务执行过程分析相关推荐

  1. mysql 查询事务信息_查看MySQL最近的事务执行信息

    查看MySQL最近的事务执行信息 发布时间:2020-03-03 12:35:07 来源:51CTO 阅读:103 作者:wjw555 课题:查看MySQL最近的事务执行信息 *虽然我们可以通过查询慢 ...

  2. mysql事务所_MySQL事务,这篇文章就够了

    0 什么是事务 事务(Transaction) 是并发控制的基本单位.所谓的事务,它是一个操作序列,这些操作要么都 执行,要么都不执行,它是一个不可分割的工作单位.事务是数据库维护数据一致性的单位,在 ...

  3. mysql 并发_Mysql事务,并发问题,锁机制

    1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约 ...

  4. mysql事务所_mysql事务

    1.事务的ACID属性 事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作.事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资 ...

  5. mysql提交事务_mysql事务的实现原理

    此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中有一个整体的认识,如下图 如上图所示,My ...

  6. mysql 提交事务_MySQL事务提交过程

    一.MySQL事务提交过程(一) MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中.今天我们来讨论下事务的提交过程. 由于mysql插件式存储架构,导致开启binlog后,事务提交实 ...

  7. mysql级别_mysql事务级别

    一.隔离级别 隔离级别(Isolation Level) SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的.低级别的隔离级一般支持更高的并发处理,并 ...

  8. mysql 提交_MySQL 事务提交过程

    开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我 ...

  9. linux mysql提交_MySQL 事务提交过程

    开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我 ...

最新文章

  1. MindSpore平台系统类
  2. 算法系列15天速成——第二天 七大经典排序【中】
  3. you need to build uWSGI with SSL support to use the websocket handshake api function !!!
  4. 1.2 日期/时间的程序
  5. mongodb性能分析方法:explain()
  6. 调了 好几天的问题 treeview 的js 处理复选框之间的关系,选中子框父框自动选中,单独执行 没问题 放到框架页里 就有问题...
  7. vs code ipynb文件_UE4引擎 源码的获取、安装,以及VS配置
  8. pyecharts怎么绘制散点图_pyecharts可视化和wx的结合
  9. ASP.NET抓取网页内容
  10. django 1.8 官方文档翻译: 3-2-3 TemplateResponse 和 SimpleTemplateResponse
  11. Python框架篇之Django(路由系统URL、视图函数views)
  12. 软考中高项学员:2016年3月26日作业
  13. python硬件测试开发工程师_硬件测试工程师
  14. LINUX的bash的一些特性
  15. 本机连接虚拟机mysql,使用本机Navicat连接CentOS虚拟机的MySQL
  16. AI工程师 需要掌握的技能
  17. 在北京开公司,搬家后如何变更税务和工商?
  18. Leetcode-LCP 25. 古董键盘
  19. 通过Cloudreve+云服务器快速搭建一个私人云盘
  20. 碳酸氢锂溶液除钙镁技术

热门文章

  1. REST架构中的HTTP动词
  2. 华为企业互动社区云计算板块
  3. 【Luogu】P1607庙会班车Fair Shuttle(线段树+贪心)
  4. UML(1) - 概述
  5. intellij jsp 中文乱码
  6. 第11章 享元模式(Flyweight Pattern)
  7. FlashCache初探(一)
  8. [翻译]下拉列表多选控件MultiDropDown
  9. 基于Geoserver配置多图层地图以及利用uDig来进行样式配置
  10. 大数据之-Hadoop之HDFS_HDFS_Shell命令---大数据之hadoop工作笔记0052