mysql redo undo

本文介绍了数据库中redo和undo日志的作用。redo日志确保了即使在实例或服务器故障的情况下,已提交的数据也不会丢失,并能恢复到一致性状态。undo日志不仅支持事务回滚,还实现了多版本并发控制(MVCC)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redo

redo是数据库实例恢复的重要组成部分。其目的是保证数据库实例或服务器发生故障时,不会导致数据库崩溃,不会丢失已经提交的数据。并且通过RWA机制保证数据库被变更之前,其redo日志必须先写入日志缓冲区,而事务提交之前也必须首先保证将日志缓冲区和这个事务相关的redo信息写入到redo日志文件。
通过这一机制,可以保证数据库宕机后,重新启动实例,数据库中没有被及时写入数据文件中的buffer pool中的信息和一些不一致的未提交的事务信息会被正确恢复,而且数据库可以恢复到宕机前的一致性状态。
redo日志分为多个组,这样当一组日志写完后,可以切换到新的日志组,而不必等待原日志组的中相关的数据刷盘,再重写。

undo

undo日志除了用于事务回滚外,还实现了MVCC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值