undolog redolog binlog
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了undolog redolog binlog相关的知识,希望对你有一定的参考价值。
redo和binlog区别:
1、首先2者都是记录数据的改变,不同的是,binlog是记录所有数据的改变信息,而innodb的redo log只是记录所有innodb表数据的变化。
2、binlog是记录已经提交完毕之后的dml以及ddl sql语句,而innodb redo log是正在执行中的dml以及ddl语句
3、binlog可以作为恢复数据使用 redo log可以作为异常down机或者介质故障后的数据恢复使用
4、在db文件目录下,也分属于不通的日志文件中。
undo log 实现原子性和持久化的事务的简化过程
假设有A、B两个数据,值分别为1,2。
A.事务开始.
B.记录A=1到undolog.
C.修改A=3.
D.记录B=2到undolog.
E.修改B=4.
F.将undolog写到磁盘。
G.将数据写到磁盘。
H.事务提交
Undo+Redo
事务的简化过程
假设有A、B两个数据,值分别为1,2.
A.事务开始.
B.记录A=1到undolog.
C.修改A=3.
D.记录A=3到redolog.
E.记录B=2到undolog.
F.修改B=4.
G.记录B=4到redolog.
H.将redolog写入磁盘。
I.事务提交
Undo+Redo
事务的特点
A.为了保证持久性,必须在事务提交前将RedoLog持久化。
B.数据不需要在事务提交前写入磁盘,而是缓存在内存中。
C.RedoLog保证事务的持久性。
D.UndoLog保证事务的原子性。
E.有一个隐含的特点,数据必须要晚于redolog写入持久存
本文出自 “饿狼的传说” 博客,请务必保留此出处http://9548010.blog.51cto.com/9538010/1878660
以上是关于undolog redolog binlog的主要内容,如果未能解决你的问题,请参考以下文章
undolog实现事务原子性,redolog实现事务的持久性
MySQL进阶-10深入理解redolog,undolog和binlog的底层原理
MySQL为什么需要redolog和undolog?从数据页刷盘的四种策略考虑