MySQL的redo log重做日志都懂了吗?

网友投稿 915 2025-03-31

redo log是基于磁盘的数据结构,在崩溃恢复期间用于修正未完成的事务写入的数据。


正常操作期间,redo log编码更改表数据的请求,这些请求是由SQL语句或低级API调用引起的。在初始化期间以及接受连接之前,会自动重播在意外关闭之前未完成更新数据文件的修改。

默认,redo log在磁盘上由ib_logfile0和ib_logfile1两个文件物理表示。 Mysql以循环方式写入redo log文件。redo log中的数据按照受影响的记录进行编码;此数据统称为重做。通过redo log的数据传递以不断增加的LSN值表示。

确保事务的持久性,防止事务提交后数据未刷新到磁盘就掉电或崩溃。

事务执行过程中写入 redo log,记录事务对数据页做了哪些修改。

提升性能

WAL(Write-Ahead Logging) 技术, 先写日志, 再写磁盘。

日志文件

ib_logfile0, ib_logfile1

日志缓冲

innodb_log_buffer_size

强刷

fsync()

MySQL的redo log重做日志都懂了吗?

Mysql

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:无代码开发平台免费本地(无代码开发平台 开源)
下一篇:文件只能读,不能编辑,怎么解锁(打开文件只能阅读不能编辑怎么办)
相关文章