Mysql 数据文件类型解析

MYSQL 数据文件

在mysql 中每一个数据库都会在定义好的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。不同的Mysql 存储引擎有各自不同的数据文件,存放的位置也有区别。多数存储引擎的数据文件都存放在和MyISAM 数据文件位置相同的目录下,但是每个数据文件的扩展名却各不相同。如MyISAM 用".MYD" 作为扩展名,Innodb 用".idb"Archive 用".arc" CSV 用".csv" 等等。

1. ".frm" 文件

与表相关的元数据(meta)信息都存放在".frm" 文件中,包括表结构的定义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的 ".frm" 文件。所有的 ".frm" 文件都存放在所属数据库的文件夹下面。

2. ".MYD" 文件

".MYD" 文件是MyISAM 存储引擎专用,存放MyISAM 表的数据。每一个MYI 表都会有一个 ".MYD" 文件与之对应,同样存放于所属数据库的文件夹下,和 ".frm" 文件在一起。

3. ".MYI" 文件

".MYI" 文件也是专属于MyISAM 存储引擎的,主要存放MyISAM 表的索引相关信息。对应于MyISAM存储来说,可以被cache 的内容主要就是来源于 ".MYI" 文件中。每一个MyISAM 表对应一个 ".MYI" 文件,存放位置和 ".frm" 以及 ".MYD" 一样。

4. ".ibd" 文件和 ibdata 文件

这两种文件都是存放Innodb 数据的文件,之所以有两种文件来存放Innodb 的数据(包括索引),是因为Innodb 的数存储方式能够通过配置来解决是使用共享表空间存放存储数据,还是独享表空间存放存储数据。
独享表空间存储方式使用 ".idb" 文件来存放数据,且每个表一个 ".idb" 文件,文件存放在和MyISAM 数据相同的位置。
如果选用共享存储表空间来存放数据,则会使用 ibdata 文件来存放,所有表共同使用一个(或者多个,可自行配置)ibdata 文件。ibdata 文件可以通过 innodb_data_home_dir 和 innodb_data_file_path 两个参数共同配置组成

内容摘录:mysql性能调优与架构设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值