redo log讲解

MySQL的redo log,即重做日志,用于记录事务操作的变化,确保数据完整性。当数据库出现故障时,通过redo log恢复。redo log文件采用顺序写、循环写的方式,由参数innodb_flush_log_at_trx_commit控制何时将日志缓冲写入磁盘,以平衡性能与安全性。此外,参数innodb_log_file_size和innodb_log_files_in_group定义了日志文件的大小和数量。
摘要由CSDN通过智能技术生成

redo log

什么是redo log文件?如下:
-rw-r-----. 1 mysql mysql 50331648 2月 8 05:07 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 12月 2 2017 ib_logfile1
redo log又称重做日志文件,用于记录事物操作的变化,记录的是数据修改之后的值,不管事物是否是否提交都会记录下来。
在实例和介质失败时,重做日志文件就能派上用场,如数据库掉电,innodb会使用重做日志恢复到掉电前的时刻,以此来保证数据的完整性。
如上,默认情况下至少有两个redo文件,在磁盘上用in_logfile(0~N)命名。
redo log 写的方式是顺序写,循环写,round robin的方式,第一个文件写满之后,会顺序写第二个,顺序写第三个,当最后一个写满
之后会切换操作,并执行check point,触发赃页的刷新。
mysql数据库重启过程中,如果参数文件中的redo log值大小与当前redo log值不一致,会把现有redo log删除,
并按照参数文件中设置的大小,重新生成新的redo log文件,在磁盘中生成redo log文件之前,数据是先写在redo log buffer中的,
接着说说redo log buffer刷到磁盘的条件有哪些。
(1)通过innodb_flush_log_at_trx_commit参数来控制,该参数有3个值,分别为0,1,2.
*0的含义:redo log thread 每隔1秒会将redo log buffer中的数据写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值