binlog、redoLog、undoLog(简洁)

日志是mysql数据库的重要组成部分,其中三大日志binlog、redoLog、undoLog三种日志:

简单讲:

bin log是归档日志,属于逻辑日志,是以二进制的形式记录的,记录数据库执行的写入性操作(不包括查询)。

主要场景有两个“ 主从复制”和“数据恢复”;

redo log是InnoDB存储引擎层的日志,又称重做日志文件,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。

如数据库掉电,InnoDB存储引擎会使用redo log恢复到掉电前的时刻,以此来保证数据的完整性。

undo log主要记录了数据的逻辑变化,比如一条INSERT语句,对应一条DELETE的undo log,对于每个UPDATE语句,对应一条相反的UPDATE的undo log,这样在发生错误时,就能回滚到事务之前的数据状态。

undo log是保存了事务发生之前的数据的一个版本,可以用于回滚。

同时可以提供多版本并发控制下的读(MVCC),也即非锁定读

详细了解参考 原文链接:MySQL三大日志——binlog、redoLog、undoLog详解_binlog是逻辑日志还是物理日志_向着百万年薪努力的小赵的博客-CSDN博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值