自学内容网 自学内容网

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

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


原文地址:https://blog.csdn.net/junbaozi/article/details/136519591

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!