回滚是什么意思,回滚机制

回滚是什么意思,回滚机制福哥答案2020-12-15:[答案来自此链接:](https://www.cnblogs.com/ld-swust/p/5607983.html)在 MySQL 中,恢复机制是通过回滚日志(un

福哥答案2020-12-15:

[答案来自此链接:](https://www.cnblogs.com/ld-swust/p/5607983.html)

在 MySQL 中,恢复机制是通过回滚日志(undo log)实现的,所有事务进行的修改都会先记录到这个回滚日志中,然后在对数据库中的对应行进行写入。

MySQL的事务是有redo和undo的,redo操作的所有信息都是记录到 redo_log中,也就是说当一个事务做commit操作时,需要先把这个事务的操作写到redo_log中,然后再把这些操作flush到磁盘上,当 出现故障时,只需要读取redo_log,然后再重新flush到磁盘就行了。

而对于undo就比较麻烦,MySQL在处理事务时,会在数据共享 表空间里申请一个段叫做segment段,用保存undo信息,当在处理rollback,不是完完全全的物理undo,而是逻辑undo,就是说会对之 前的操作进行反操作,但是这些共享表空间是不进行回收的。这些表空间的回收需要由mysql的master thread进程来进行回收。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/117166.html

(0)

相关推荐