mysql中的redolog undolog

1 redolog保证了事务的一致性,持久性。在mysql服务启动时,就会给redolog分配一块连续的存储空间,各个事务共享这块存储空间,各个事务的redolog日志根据语句的执行数据,通过顺序io的方式交替存入。如果mysql宕机了,redolog可以将mysql数据库恢复到宕机前的一个状态,未提交的事务,可以根据策略手动选择提交或者回退。
2 undolog保证了事务的原子性,它记录了数据操作前的状态,需要会退时可以执行回退。
举例子,加入数据表中俩字段,a=1,b=2

1start tansaction
2记录a=1到undolog
3update a=2
4记录a=2到redolog中
5记录b=2到undolog中
6update b=3
7记录b=3到redolog中
8将redolog写入磁盘
9commit

如果在1-8之间出现宕机,磁盘中的数据不会受到任何影响
如果在8-9之间出现宕机,可以根据redolog继续执行事务
如果在9之后出现宕机,并且此时内存映射中变更的数据没有立即写回到磁盘。那么也可以根据redolog日志继续将数据写回磁盘。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值