MySQL的目录结构 && Innodb的数据存储与MyIsam的存储

Posted 学好编程不秃头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的目录结构 && Innodb的数据存储与MyIsam的存储相关的知识,希望对你有一定的参考价值。

mysql的目录结构 && Innodb的数据存储与MyIsam的存储

先查看一共有多少个与mysql相关的文件

find / -name mysql

  • /var/lib/mysql 是MySQL数据库文件的存放路径
    在mysql中可以用命令查看
show variables like 'datadir';

  • mysql的配置文件位置: /etc/my.cnf

  • 相关命令目录:/usr/bin(mysqladmin、mysqlbinlog、mysqldump等命令)和/usr/sbin

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):存放索引信息文件

以上是关于MySQL的目录结构 && Innodb的数据存储与MyIsam的存储的主要内容,如果未能解决你的问题,请参考以下文章

MySQL的目录结构 && Innodb的数据存储与MyIsam的存储

mysql数据库查询操作

MySQL 8.0体系结构总结

MySQL mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器

:文件管理 -- 文件目录(目录结构)文件的物理结构(文件块,磁盘块 & 连续分配 & 链接分配 & 索引分配)

thinkphp&laravel&swoft目录结构之说