8.3 数据目录的结构
数据目录是用来存储MySQL在运行过程中产生的数据
每个数据库都对应数据目录下的一个子目录
建立一个数据库时会做两件事
- 在数据目录下创建一个与数据库名同名的文件夹
- 在该文件夹下创建一个名为db.opt的文件,这个文件中包含该数据库的一些属性,如字符集和比较规则
8.3.2 表在文件系统中的表示
每个表的信息分为两种:
- 表结构的定义
- 表中的数据
数据目录下对应的数据库子目录中创建了一个专门用于描述表结构的文件:表名.frm
1、系统表空间表空间是一个抽象的概念,它可以对应文件系统上一个或多个真实的文件,每一个表空间可以被划分为很多个页,表数据就存放在某个表空间下的某些页中
系统表空间可以对应文件系统上一个或多个实际的文件
默认情况下,InnoDB会在数据目录下创建一个名为ibdata1、大小为12MB的文件,这个文件就是系统表空间在文件系统上的表示
2、独立表空间MySQL会为每个表建立一个独立表空间
创建一个表之后会在数据库对应的子目录下生成两个文件:
- 表名.frm,用来存储表中的数据
- 表名.ibd,描述表结构
- 通用表空间
- undo表空间
- 临时表空间