当前位置: 首页 > article >正文

一文读懂 mysql 为什么要两阶段提交以及两阶段提交原理

文章目录

  • 为什么要两阶段提交
  • redo log与binlog两份日志之间的逻辑不一致,会出现什么问题?
  • 两阶段提交是怎么保证逻辑一致的呢?
  • 当 binlog 写完,redo log 还没 commit 前发生 crash,那崩溃恢复后 MySQL 如何处理?
  • redo 与 binlog 的刷盘时机
    • MySQL 的双 1 配置
  • 能否只用 redo log 不要 binlog?
  • Binlog 组提交机制

为什么要两阶段提交

在执行更新语句过程,会记录redo log与binlog两块日志,以基本的事务为单位,redo log在事务执行过程中可以不断写入,而binlog只有在提交事务时才写入,所以redo log与binlog的写入时机不一样。

在这里插入图片描述

为了解决两份日志之间的逻辑一致问题,InnoDB存储引擎使用


http://www.kler.cn/a/5579.html

相关文章:

  • 【C语言】库函数常见的陷阱与缺陷(二):字符串转化函数[3]--strtol
  • 【ES6复习笔记】函数参数的默认值(6)
  • ZCC5090EA适用于TYPE-C接口,集成30V OVP功能, 最大1.5A充电电流,带NTC及使能功能,双节锂电升压充电芯片替代CS5090EA
  • 重温设计模式--观察者模式
  • 攻防世界 robots
  • React Props 完整使用指南
  • 面试官灵魂拷问[二]:SQL 语句中 where 条件后写上 1=1 是什么意思?
  • 02_Python 学习基础
  • 【算法】Raft算法详解
  • C++ 20 list容器
  • SpringBoot+vue的图书管理系统
  • Java中字节流的相关内容
  • markdown
  • 【linux】基于阻塞队列的生产者消费者模型(条件变量)
  • springboot项目中, 序列化对象需要注意什么?
  • 基于springboot实现结合疫情情况的婚恋系统演示【附项目源码】
  • php mysql网络考试系统dzkf8994
  • Raft协议详解
  • DFS+记忆化剪枝--[NOIP2017 普及组] 棋盘
  • 启动Hadoop报错【Error: JAVA_HOME is not set and could not be found.】
  • JUnit5用户手册~并行执行
  • 全栈声明式可观测:KubeVela 开箱即用且灵活定制的云原生应用洞察
  • 蓝桥杯嵌入式--实战模拟题
  • vue获取数据的两种方式实践+简单骨架屏实现
  • 《花雕学AI》05:令人惊奇的ChatGPT,一个能够与人类对话的人工智能
  • [Java] synchronized的锁优化机制