本篇文章主要介绍 Redo Log 和 Undo Log:日志:Redo Log 和 Undo Log · 语雀 (yuque.com)
- 利用 Redo Log 和 Undo Log 实现本地事务的原子性、持久性
- Redo Log 的写回策略
- Redo Log Buffer 的刷盘时机
其中第 5 步,将这个更新操作记录到 Redo Log。生成的 Redo Log 是存储在 Redo Log Buffer 后就返回,还是必须写入磁盘后才能返回呢?Redo Log 的两阶段提交 & 崩溃恢复
这就是 Redo Log 的写入策略,Redo Log 的写入策略由 innodb_flush_log_at_trx_commit 参数控制,该参数不同的值对应不同的写入策略。
还有第 6 步,把 Binary Log 写入磁盘和 Redo Log 一样,也有相应的写回策略,由参数 sync_binlog 控制。
通常我们说 MySQL 的“双 1”配置,指的就是 sync_binlog 和 innodb_flush_log_at_trx_commit 都设置成 1。也就是说,一个事务提交前,需要等待两次刷盘,一次是 Redo Log 刷盘(prepare 阶段),一次是 Binary Log 刷盘。
作者:CatKangUndo Log 配置的选项
链接:https://www.zhihu.com/question/267595935/answer/2204949497
来源:知乎
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |