redo log两段式提交如何保障数据不丢失


1.在准备阶段,所有修改操作先记录到redo log buffer,记录事务状态为prepare 
2.立即刷盘,把redo log buffer的数据写入磁盘的redo log文件 
3.在提交阶段,将事务操作写入到bin log并刷盘 
4.把redo log buffer的事务状态改为commit,更新磁盘中的redo log文件的事务状态
5.在mysql崩溃恢复时, 先扫描redo log 
6.如果发现是事务状态是prepare,检查事务是否有对应的binlog记录
7.如果有bin log,重做redo 事务
8.如果没有bin log,回滚undo 事务 
9.如果事务状态是commit,跳过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值