InnoDB存储引擎redo log文件——《MySQL技术内幕InnoDB存储引擎》读书笔记

本文介绍了InnoDB存储引擎的redo log作用,包括其文件组结构、参数配置如innodb_log_file_size和innodb_flush_log_at_trx_commit,以及redo log的写入策略和事务恢复的重要性。
摘要由CSDN通过智能技术生成

redo log的作用是记录事务日志。万一实例或介质失败,可以通过redo log进行恢复,保证数据的完整性。

每个InnoDB存储引擎至少有1个redo log文件组,每个文件组下至少有2个redo log文件。为了得到更高的可靠性,可以设置多个mirrored log group,将不同的文件组放在不同的磁盘上。日志组中每个redo log文件的大小一致,并以循环方式使用。InnoDB存储引擎先写redo log文件1,当达到文件的最后是,会切换至文件2,当文件2也被写满时,会再切换到文件1中。

参数innodb_log_file_size指定了redo log文件的大小;innodb_log_files_in_group指定了redo log文件组中redo log文件的数量,默认为2;innodb_mirrored_log_groups指定了日志镜像文件组的数量,默认为1,代表只有一个文件组,没有镜像;innodb_log_group_home_dir指定了日志文件组所在路径,默认在数据库路径下。

redo log文件的大小不能设置得太大,如果设置得太大,在恢复时可能需要很多的时间,另一方面又不能太小,否则可能导致一个事务的日志需要多次切换redo log文件。

InnoDB存储引擎的redo log文件记录关于每个page的更改的物理情况。在事务进行的过程中,不断有redo entry被写入redo log文件中。

redo log结构

<
Space id PageNo OpCode Data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值