MySQL 两阶段提交与崩溃恢复

改变故障点、断电/进程退出、双一持久化,观察恢复提交或回滚。。

进程崩溃与断电的易失边界不同;此模型保留OS缓存以说明区别。完整binlog+可恢复prepare才能补交;客户端断连/没ACK是结果未知,必须用业务幂等键查询后重试,不能直接当失败。

主要特点

  • MySQL8 InnoDB、开启binlog、单事务单行预设;不是任意SQL执行器。RAM/OS/DISK分别为进程内存/OS缓存/持久化;true=有。弱持久化演示最坏的未刷盘窗口,不是每次必丢。SELECT为只读分支,不参与写事务恢复。实际存在组提交、并发刷页;双写解决部分页写,redo不能凭空修复损坏基页。 页仅抽象为这一行的值,∅表示无行值;loaded区分页是否已载入,DELETE后的空行值不等于页被卸载。

如何使用MySQL 两阶段提交与崩溃恢复

  1. 当前是就绪画面。开始演示会按当前参数执行一次操作;回放准备过程请从头播放。
  2. 每次操作独立一轮。从头播放重播本轮,当前继续从所选步骤接着播;步骤菜单与时间轴可定位,历史菜单可回看上一轮。
  3. 方向键 ← → 可单步,空格键播放或暂停。

数据与隐私

所有计算都在你的浏览器里完成,不连接任何数据库,也不会把你输入的内容上传到任何地方。

相关工具

  • 计算机原理可视化 - 原「数据结构可视化」。36个可交互场景:数据结构、Java集合与JVM/GC/线程池、MySQL索引/MVCC/执行恢复、TCP/UDP、分布式事务;逐步字幕、慢速播放和面试讲解。

查看像素鸭AI全部在线工具

可对照的关键步骤(随参数进入不同分支)

官方实现与参考

正在把工具准备好

马上就好,请稍等一下…