性能问答>Mysql持久化日志机制>
3回复
6月前

Mysql持久化日志机制



大佬们,有个mysql的问题,在innodb引擎中,有这样几个东西

  • 1、flush链表:存放Buffer Pool中的脏页(具体细节不在赘述)
  • 2、redo log:持久化日志文件,存放被修改了的脏页中的数据(具体细节不在赘述)

flush链表由后台master线程来定时同步数据到磁盘(具体细节不赘述)
redo log在事物提交了之后,由Log buffer持久化到磁盘 redo log文件中

如果mysql服务出现了问题挂掉了,再次启动mysql的时候,这些数据要如何处理???

  • 是重新将redo log磁盘日志加载到flush链表中,由线程来定时同步?
  • 还是直接从redo log磁盘日志中,同步到磁盘数据?

那是如何处理的呢?过程?

768 阅读
请先登录,再评论

给你画张图,就明白了。内存一断电就没了,如果有WAL保存了什么东西的话(比如redo log),原则上是数据文件有了不恢复,没了就恢复。
20210614183411.gif

66月前
回复 核桃:

adobe animate

5月前回复
回复 CoderW:

大佬 这个图是用什么工具画的

5月前回复