Advertisement

MySQL日志系统的核心原理是什么?

阅读量:

Undo Log

Undo Log介绍

Undo:意为撤销或取消,以撤销操作为目的,返回指定某个状态的操作。

Undo Log:在执行事务之前,在undo日志中存储要修改的数据记录;当发生回滚操作或数据库故障的情况下,则可以通过undo日志恢复未提交事务导致的数据变更

UndoLog文件的操作流程如下所述:首先,在事务执行之前系统会生成新的UndoLog条目;随后,在提交完整的事务操作后系统并不会立即移除该条目的存储副本而是将其加入待回收列表等待后续清理任务进行处理。此外UndoLog文件被归类为逻辑日志文件用于记录业务操作的变化历史以便于回滚机制的有效实施例如当发生一次delete操作时相关的undolog记录将会显示相应的insert操作而如果发生一次update则undolog将会记录相应的相反更新操作以确保数据恢复过程中的准确性和一致性。

Undo Log 存储:undo log 按照段的形式进行管理并予以保存。在 innodb 数据文件中拥有 一种回滚段,在其内部设置了 1024 个 undo log segment。通过 下面一组参数可以实现 对 Undo Log 的存储控制。

复制代码
    show variables like '%innodb_undo%';

Undo Log作用

确保事务操作的完整性作为记录恢复交

全部评论 (0)

还没有任何评论哟~