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 mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器