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

本文探讨了MySQL的目录结构,重点分析了InnoDB和MyISAM两种存储引擎的数据存储方式。InnoDB的数据存储在.idb文件或ibdata1系统表空间中,而MyISAM的存储包括.MYD(数据)、.MYI(索引)和可能的.sdi文件。文章还提及MySQL5.7与8.0在文件格式上的差异。
摘要由CSDN通过智能技术生成

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值