介绍
今天就跟大家聊聊有关MySQL中重做日志,undo日志和binlog三者的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
事务的实现
重做日志保证事务的持久性,undo日志用来帮助事务回滚及MVCC的功能。
InnoDB存储引擎体系结构
重做日志
提前写日志策略
事务提交时,先写重做日志再修改页;当由于发生宕机而导致数据丢失时,就可以通过重做日志来完成数据的恢复。
- <李>
InnoDB首先将重做日志信息先放到重做日志缓存
李> <李>按一定频率刷新到重做日志文件
李>重做日志文件:在默认情况,InnoDB存储引擎的数据目录下会有两个名为ib_logfile1和ib_logfile2的文件。每个InnoDB存储引擎至少有1个重做日志文件组(组),每个文件组下至少有2个重做日志文件。
下面图一,很好说明重做日志组以循环写入方式运行,InnoDB存储引擎先写ib_logfile1,当达到文件最后时,会切换至重做日志文件ib_logfile2。null