mysql修改数据流程 redolog/binglog

1.修改数据,

先从硬盘读数据到内存,

然后修改这行数据,

写如新行,更新到内存,

然后写入redolog,

成功后写入binglog,

提交事务(提交的数据不会马上保存到硬盘中,如果你修改的数据还未保存到硬盘中,此时断电,重启,你的redolog保证你的数据不会丢失) 有个问题  因为redlong会存所有的记录 就算断电 binglog就够了, 还要  redlong干什么呢?

解答:

第一,redlong是循环插入,当数据在redlong中插满,就会把一部分数据插入硬盘,然后删除,新的数据继续插入。并且,redlog是记录的 修改记录。

第二,binglog存的是所有的执行语句,按照先后顺序,依次插入,记录的是所有的数据执行sql.

我对redolog的理解就是, 插入数据的时候  ,先写到redolog,因为redolog是有空间限制的,如果redolog有空余继续写入,当redolog没有空间了,会把redolog数据先存到硬盘中,然后清除redolog,然后再继续写入redolog中。  当数据库宕机了,redolog有之前的数据,会从redolog中读取,binglog  也有之前的数据, 但是binglog侧重于数据备份,记录的是所有数据的执行sql。

发布了143 篇原创文章 · 获赞 41 · 访问量 59万+

猜你喜欢

转载自blog.csdn.net/qq_29257691/article/details/103123072