前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL的redo log重做日志都懂了吗?

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

作者头像
JavaEdge
发布2021-02-23 15:52:20
发布2021-02-23 15:52:20
4330
举报
文章被收录于专栏:JavaEdgeJavaEdge

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()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档