以下内容基于Linux
系统,MySQL的 /var/lib/mysql/
目录下的数据文件
💖 Innodb 引擎
MySQL 5.7
MySQL 8.0
🌟 总结
Innodb 是聚簇索引,索引及数据,数据即索引,所以数据和索引是存储在同一个文件中的
- MySQL 5.7
- 数据库的相关配置:
db.opt
(8.0没有了) - 表结构:
表名.frm
(8.0没有了) - 表数据:
ibdate1
系统表空间(在数据库的文件目录下)表名.ibd
独立表空间(在特定表的文件目录下)
- 数据库的相关配置:
- MySQL 8.0
- 表结构和数据统一存在
表名.ibd
文件中(在特定表的文件目录下)
- 表结构和数据统一存在
💖 MyISAM 引擎
MySQL 5.7
MySQL 8.0
🌟 总结
MyISAM 全都是二级索引,索引和数据是分开存放的。
- 特定的数据库文件目录下(
/var/lib/mysql/数据库名/
)- 表结构:
- MySQL5.7:
表名.frm
- MySQL8.0:
表名.xxx.sdi
- MySQL5.7:
- 表数据:
表名.MYD
- 表索引:
表名.MYI
- 表结构: