本章对后续了解Mysql索引有所帮助,但不是重点章节;
1.Mysql8的主要目录结构
1.1 数据库文件的存放路径
1.1.1 windows系统
库目录
Mysql在安装的时候,配置文件中会指定Data
目录,该目录下每一个目录代表一个数据库;
表文件
数据库目录下对应.idb
格式的文件,就是数据表文件
配置文件my.ini
windows系统下的mysql的配置文件为my.ini
数据库服务器进程目录
Mysql是一个服务端程序,是一个进程;下面就是服务器程序对应的物理文件
- bin目录:存放可执行文件、指令;一般配置到系统的
path
目录下
1.1.2 linux系统
1.数据目录 /var/lib/mysql
此目录存放数据库文件夹
1.2 命令目录
/usr/bin
下存放的命令:
/usr/sbin
下存放的命令:
1.3 配置文件目录
/etc/mysql/my.cnf
和 windows下的my.ini
是一样的
2. 数据库和文件系统的关系
2.1 默认数据库
2.2 数据库在文件系统中的表示
表和文件的对应
db.opt
存储的是该库的相关信息,比如字符集、比较规则等;
.frm 文件
存储表结构
.ibd
文件是5.7版本后,存储表数据的默认存储位置,叫做独立表空间
;在mysql5.5/5.6版本中,数据是统一存储在一个与库表无关的文件idbata1.
中;
idbata1.
叫做系统表空间,默认大小12M,可突破大小
8.0版本
表文件:
- 8.0版本没有了db.opt,将表的元数据和表数据存到一起了
- 8.0版本
frm
文件也没有了,也和表数据合到一起了,放进了.ibd
文件
查看解析后的文件:存放了表结构信息
2.3.2 MyISAM存储引擎模式
5.7版本
.MYD + .MYI = .ibd
将数据和索引分开存储;InnoDB中是存储在一起的
8.0版本
总结: