小工具知识网

当前位置: 首页 > 行业知识 > 【云原生进阶之数据库技术】第一章MySQL-架构原理-3.2.4 UndoLog工作原理

行业知识

【云原生进阶之数据库技术】第一章MySQL-架构原理-3.2.4 UndoLog工作原理

2026-11-10 09:09:09 来源:互联网转载

1 基本概念

  • undo log(回滚日志) :是 Innodb 存储引擎层生成的日志,实现了事务中的原子性,主要用于事务回滚和 MVCC。
  • redo log(重做日志) :是 Innodb 存储引擎层生成的日志,实现了事务中的持久性,主要用于掉电等故障恢复;
  • binlog (归档日志) :是 Server 层生成的日志,主要用于数据备份和主从复制;

��       先来看一张sql执行逻辑图,这样对三种log的使用有更直观的认知:

        最后写入binLog文件,redo事务状态变更为commit

2 Undo Log

2.1 为什么需要 undo log?

        我们在执行执行一条“增删改”语句的时候,虽然没有输入 begin 开启事务和 commit 提交事务,但是 MySQL会隐式开启事务来执行“增删改”语句的,且执行完就会自动提交事务的,这样就保证了执行完“增删改”语句后,我们可以及时在数据库表看到“增删改”的结果了。执行一条语句是否自动提交事务,是由 autocommit

上一篇:const,static深度总结——c++穿透式分析

下一篇:掌握HTML点击事件秘籍,轻松提升交互体验!