MySQL日志系统知识点总结

目录

0 引言

1 redo日志

2 undo日志

3 binlog日志

4 redo日志的两阶段提交


0 引言

针对mysql日志系统的一些总结,主要是Innodb的redo日志和undo日志,然后就是server层的binlog日志,复习资料主要来自极客时间《Mysql实战45讲》和《MySQL是怎样运行的》

1 redo日志

redo日志是什么

redo日志记录了我们对于数据的改动操作。我们在对数据库进行操作的时,都是对buffer pool中的页面进行操作,当系统崩溃时这些页面也就会丢失从而使得数据库的数据出现丢失。所以我们需要将对数据库的改动操作记录到磁盘中,直接将buffer pool中的页面刷新到磁盘中是十分浪费时间和空间的,我们可以将对每次对数据库的改动记录成一条redo日志,这样只刷新较小的redo日志到磁盘中就更加节约资源。

Innodb引擎特有的

redo日志的写入过程

首先说明一点,就是我们的redo日志是按组写入的,也就是所谓的MTR,MTR表示对底层页面的一次原子访问,一次原子访问可能产生多条redo日志,这些redo日志就称为一个组。

我们的redo日志也是先写到缓存中,再写到磁盘上的。在内存中有一个redo log buffer的区用来存储我们的redo日志,这部分区域分为了一个个block,每个block占用了512字节。这些block占用的是一块连续的空间,我们向里面写redo日志就是按照组从第一个block开始顺序写入的

向磁盘中写redo日志的时机

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值