至于changebuffer被应用后是删除还是标记,还有redo中原有的记录changebuffer的改动怎么调整是删除还是修改成数据页的改动这里下面的图是按照自己的想法描述出来,如有误望留言指正 。

文章插图
8.3.3 数据刷盘过程数据刷盘flush的有四种情况
- InnoDB 的 redo log 写满了 。这时候系统会停止所有更新操作,把 checkpoint 往前推进,redo log 留出空间可以继续写
- 系统内存不足 。当需要新的内存页,而内存不够用的时候,就要淘汰一些数据页,空出内存给别的数据页使用 。如果淘汰的是“脏页”,就要先将脏页写到磁盘
- MySQL 认为系统“空闲”的时候
- MySQL 正常关闭的情况
假设数据刷盘flush的四种情况发生了一种,那么联系上文的过程将如下
- 将脏页从内存中刷回到数据磁盘
- 刷完后更新检查点checkpoint的值

文章插图
流程中间某个环节数据库宕机后,恢复具体过程,这些留在心里了,没往上去写,读者可以自行思考,不难 。
九、结尾整个文章讲了Binlog、Undo log和Redo log,随带一提ChangeBuffer,前面四五六七章是分讲,最后第八章是对整个日记相关联讲解 。对此,讲到这里,基本上要把我要讲的已经讲完,内容挺多,有耐心可以慢慢啃,不懂欢迎留言!
思考环节,下面留下两个问题,欢迎大家留言解答
1、为啥Binlog没有crash-safe功能?
2、保证crash-safe为啥要用两个日记,不能用一个日记吗(Redo log或Binglog)?
作者: 神韵_499
原文链接:https://blog.csdn.net/qq_41055045/article/details/108681970
推荐阅读
- 发型|“第一天当保安,锁了一辆乱停的轿车,领导肯定会奖励我的!”
- 糖尿病|可能会让女人看起来比实际年龄更老的8个小错误,你中招了吗
- 奔驰|高速变道不看后视镜 奔驰轿车被大货车剐蹭:苦了自己、害了别人
- 耳朵滴了双氧水怎么会晕 双氧水能滴耳朵吗
- AMD|印度高管立功 Intel:全球终于知道AMD/NV之外的GPU第三家了
- 白茶喝了有什么好处,喝什么茶好睡眠
- 通信运营商|第四大运营商来了!中国广电经营范围新增5G通信
- 《流浪地球2》开拍 《流浪地球2》要来了
- 求职招聘|太二酸菜鱼餐厅招聘服务员要求双一流 店家回应:搞错了
- 查看iphone充电次数,iphone手机充电次数查询?
