mysql 原理 ~ innodb恢复机制

举例说明 机制

数据页A的lsn为100,数据页B的lsn为200,checkpoint lsn为150,系统lsn为300,表示当前系统已经更新到300,小于150的数据页已经被刷到磁盘上,因此数据页A的最新数据一定在磁盘上,而数据页B则不一定,有可能还在内存中。
lsn本身你可以理解为不同时间点的不同操作

page lsn(修改后的页就是脏页,会记录lsn)

page lsn 定位找 redo lsn
只有page lsn < redo lsn的情况下 才可以应用redo日志,因为如果page lsn大于 redo lsn的话,就证明页修改了,但是没找到redo日志

lsn生成(1 分配当前最大lsn号 2 redo刷新到磁盘上(redo lsn) 3 脏页刷新到磁盘上(page lsn) 4 binlog buffer 5 刷新生成 checkpoint lsn),

存在2种情况
1 redo丢失
2 dirty page丢失
3 binlog buffer丢失

先redo 后 undo

 

转载于:https://www.cnblogs.com/danhuangpai/p/8400020.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值