InnoDB引擎(一)

文章详细介绍了MySQL中InnoDB引擎的存储结构,包括逻辑存储的表空间、段、区、页和行,以及物理存储的各类日志文件和数据文件。InnoDB以行存储为主,页是基本物理单位,同时讨论了不同类型的日志在数据可靠性与事务处理中的作用。

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

目录

 一.储存结构

☄️1.储存结构分为逻辑储存,跟物理储存结构

☄️2.表空间

☄️3.段  

☄️4.区

☄️5.页

☄️6.行

二.物理储存结构

☄️1.数据文件

☄️2.重做日志

☄️3.撤销日志文件

☄️4.参数文件

☄️5.错误日志

☄️6.二进制日志(binlog)

☄️7.慢查询日志

☄️8.全量日志

☄️9.中继日志

☄️10.PID文件

☄️11.  Socket文件

☄️12.表结构文件


InnoDB引擎目前是MySQL默认的储存引擎,主要是分为三部分

储存结构     存结构     线程结构

 一.储存结构

1.储存结构分为逻辑储存,跟物理储存结构

InnoDB储存引擎的逻辑储存结构,所有创建的表都存放在一个空间中,称为表空间,表空间有由段,区 页 组成

2.表空间

 表空间可以看为储存引擎的老大 ,所有的数据都是存放在数据表里

3.段  

在表空间是由各个段组成的,常见的段有数据段,索引段 回滚段

InonoDB储存引擎是由索引组成的 ,因此数据即索引 索引即数据

(注意:并不是每个对象都有段,更准确的说,表空间是由分散的页和段组成)

4.区

区是连续的页组成,是物理连续分配的一段空间 每个区域固定大小1MB,对于大的数据段 InnoDB储存引擎做多分为四个区,保证数据的顺序

5.页

InnoDB的最小物理储存分配单位是页 页的默认大小是16kB

常见的页类型有:

数据页  Undo页  系统页  事务数据页  插入缓冲位图页  插入缓冲空间列表页  未压缩的二进制大对象页  压缩的二进制大对象页

6.行

InnoDB储存引擎的面是向行的 也就是说数据的存放是按照行进行的 最多允许存放 16*1024/2-200的行记录 即7992行的记录

二.物理储存结构

mysql 是通过逻辑储存结构来管理物理储存结构,即管理硬盘上储存的各种文件

1.数据文件

idb文件和ibdata文件,这两种文件都是存放innoDB数据文件,之所以有两种文件存放innoDB数据(包括索引),是因为InnoDB的数据存放方式可以通过配置来决定是共享表空见储存数据,还是独立空间储存数据

2.重做日志

重做日志 文件是InnoDB储存引擎生成的日志,主要是为了保护数据的可靠性和事务的持久性

3.撤销日志文件

撤销日志是记录一些旧版本的数据

4.参数文件

在MySQL启动时,数据库会先都一个配置文件,用于寻找数据库的各种文件所在的位置

MySQL把参数分为两类 动态跟静态

动态参数:MySQL在运行的过程中可以对参数进行在线修改,可以通过命令 set global 或者  set session 在数据库中完成设置

静态参数:是指无法在线修改

5.错误日志

记录了MySQL的启动,运行,关闭 过程中出现的问题,进行了一些记录

6.二进制日志(binlog)

记录了一些数据库更改的操作但是不包括select 跟 show 因为操作数据本身没有修改

可以完成主从复制,把主服务器所有修改的数据记录在binlog中,通过网络发送给从服务器,从而达到主从同步的目的

进行恢复操作,数据可以通过binlog文件,使用mysqlbinlog命令,实现基于时间跟位置的恢复

7.慢查询日志

慢查询日志可以把参数"log_query_time"时间的所有SQL语句记录下来

8.全量日志

全量日志会记MySQL数据库的所有操作的SQL语句,包括select 跟 show

9.中继日志

主从复制中,中继日志是从服务器上一个很重要的文件

1.主服务器( master )把数据更改记录到二进制日志( binlog )中

2.从服务器( slave )把主服务器的二进制日志复制到自己的中继日志( relay log )

3.从服务器重做中继日志中的日志,把更改应用到自己的数据库上,达到最终一致性

10.PID文件

当MySQL启动时候,会将自己的ID写入到一个文件中,该文件称为PID文件.

11.  Socket文件

在 UNIX 系统下本地连接 MySQL 可以采用 UNIX 域套接字方式,这种方式需要一个套接字( socket )文件,由参数 socket 控制

12.表结构文件

数据的存储是根据表进行的,每个表都会有与之对应的文件。但不论采用何种存储引擎, MySQL 都有一个以 frm 为后缀名的文件,这个文件记录了该表的表结构定义。 frm 可以存放视图的定义,存放视图定义的 frm 文件是文本文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值