MySQL存储引擎InnoDB详解(二)存储引擎文件

本文详细介绍了InnoDB存储引擎的表空间文件和重做日志文件。表空间文件是InnoDB存储数据的基础,可以通过参数innodb_data_file_path进行配置。重做日志文件用于记录事务日志,每个存储引擎至少有一个包含两个文件的日志文件组。文章对比了重做日志与二进制日志的区别,并解析了重做日志条目结构和写入流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  每个表存储引擎有自己独有的文件。

一、表空间文件

  InnoDB采用将存储的数据按表空间(tablespace)进行存放的设计。
  默认配置下有一个初识大小为10M,名为ibdata1的文件,默认的表空间文件(tablespace file)。
  通过参数innodb_data_file_path设置文件

	innodb_data_file_path=/db/ibdata1:2000M;/dr2/db/ibdata2:2000M:autoextend

  表示将/db/ibdata1和/dr2/db/ibdata2两个文件来组成表空间,其中ibadata1的大小为2000M,文件ibdata2的大小为2000MB,如果用完了这2000MB,该文件可以自动增长(autoextend)。

  除了共享表空间,还可以设置独立表空间,通过参数innodb_file_per_table控制,生成的文件名为:表名.ibd

	show variables like 'innodb_file_per_table'

二、重做日志文件

  记录InnoDB存储引擎事务日志的文件称作重做日志文件(redo log file)。

2.1 概述

  每个InnoDB存储引擎至少有1个重做日志文件组(group),每个文件组下至少有2个重做日志文件,如默认的ib_logfile0和ib_logfile1。为了得到更高的可靠性,用户可以设置多个的镜像日志组(mirrored log groups),将不同的文件组放在不同的磁盘上。

  相同组内的文件是循环写入日志的。

2.2 相关参数

  • innodb_log_file_size 指定每个重做日志文件的大小。

  • innodb_log_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值