MySQL的目录结构 && Innodb的数据存储与MyIsam的存储
先查看一共有多少个与mysql相关的文件
find / -name mysql
- /var/lib/mysql 是MySQL数据库文件的存放路径
在mysql中可以用命令查看
show variables like 'datadir';
Innodb的数据存储与MyIsam的存储
先进入mysql文件存储的位置
cd /var/lib/mysql
一个数据库对于一个文件夹 进入数据库文件夹
cd dbtest1
emp1.idb 对应一个表的数据与结构(innodb存储引擎)
myisam存储引擎 .sdi 存储结构 .MYD 存储数据 (D data) .MYI 存储索引(I index)
ps:数据除了存储在自己的 .idb文件中与会被存储于全局表空间 ibdata1 默认12M 的系统表空间
show variables like 'innodb_file_per_table';
查看默认数据存在哪 数据默认存储在独立表空间 即.idb文件中
小结: 举例: 数据库a , 表b 。 1、如果表b采用 InnoDB ,data\a中会产生1个或者2个文件: b.frm :描述表结构文件,字段长度等 如果采用 系统表空间 模式的,数据信息和索引信息都存储在 ibdata1 中 如果采用 独立表空间 存储模式,data\a中还会产生 b.ibd 文件(存储数据信息和索引信息) 此外: ① MySQL5.7 中会在data/a的目录下生成 db.opt 文件用于保存数据库的相关配置。比如:字符集、比较 规则。而MySQL8.0不再提供db.opt文件。 ② MySQL8.0中不再单独提供b.frm,而是合并在b.ibd文件中。 2、如果表b采用 MyISAM ,data\a中会产生3个文件: MySQL5.7 中: b.frm :描述表结构文件,字段长度等。 MySQL8.0 中 b.xxx.sdi :描述表结构文件,字段长度等 b.MYD (MYData):数据信息文件,存储数据信息(如果采用独立表存储模式) b.MYI (MYIndex):存放索引信息文件
|