数据在目录中的位置

在Unix系统里,如果通过二进制或源代码发行版安装MySQL那么数据目录通常默认为/usr/local/mysql/data,如果通过RPM包来安装,则默认目录为/var/lib/mysql。

  1. SHOW VARIABLES LIKE 'datadir';

image.png

frm文件存表结构 5.5以后 表数据都存在独立表空间
654603b1a3044846a38325c58649207e.png

mysql 8就没有frm opt文件了 可由ibd2sdi工具生成txt文件
8.0将表结构和数据都存放在ibd文件中了

  1. ibd2sdi --dump-file=emp1.txt emp1.ibd

image.png

如果表b采用InnoDB,data\a中会产生1个或者2个文件

  • b.frm:描述表结构文件,字段长度等
  • 如果采用表空间模式,数据信息和索引信息都会存储在ibdata1中
  • 如果采用独立表空间存储模式,data\a中还会产生b.ibd文件(存储数据信息和索引信息)

如果表b采用
MyISAM,data、a中会产生3个文件:

  • MySQL5.7中:b.frm:描述表结构文件,字段长度等
  • MySQL8.0中b.xxx.sdi:描述表结构文件,字段长度等
  • b.MYD(MYData):数据信息文件,存储数据信息(如果次啊用独立表存储模式)
  • b.MYI(MYIndex):存放索引信息