短视频
2025/12/30大约 2 分钟面试题面试题
来源:短视频
说到数据库的事务, 大家都知道干嘛的, 那他底层是怎么实现事务回滚的你知道吗?其实非常简单! 关键点 undo log!
大家好我是徐庶, 给你讲下Mysql事务的回滚原理, 视频的文字版我已经整理进了80万字面试资料中, 需要在评论区扣666领取。
MySQL使用了Undo Log我们称为回滚日志来实现事务的回滚操作。当一个事务需要回滚时,由于Undo Log 存储了执行事务之前的数据记录,这样就可以通过Undo Log的数据恢复到事务开始之前的状态。
具体的回滚过程是这样的:
在事务开始时 Undo Log会记录事务对数据库的修改操作,包括插入、删除和更新。
当事务发生异常
首先事务会触发事务的回滚:mysql会取消已经进行但尚未提交的事务。
如果涉及多个事务会按照事务执行的逆序进行回滚。也就是说,先回滚最近的事务,再回滚之前的事务。
在回滚时,MySQL会根据Undo Log中的信息,将修改的数据恢复到事务开始之前的状态。如果是更新操作,则可以使用Undo Log中的旧值来恢复数据。
当事务回滚完成后,MySQL会清除相关的Undo Log。回滚后的数据已经恢复到了事务开始之前的状态,Undo Log不再需要记录。
通过使用Undo Log,MySQL能够实现事务的回滚操作 。只要记住这最重要的一点! 如果堆你有帮助听完记得三连哦~