MYSQL学习笔记2-mysql数据文件

1.mysql数据文件类型?5.7和8的一些区别

**创建一个anadb的数据库:**在mysql安装目录下data目录下会产生一个同名的文件夹

建表: 图为mysql57的数据文件图,不同的引擎建表会产生不同后缀名的文件 ,mysql5.5以上默认使用 innodb存储建表

这里的数据文件中主要包括了:db.opt文件、frm文件、MYD文件、MYI文件、ibd文件

这里以mysql5.7的数据文件为基础介绍,补充了一部分mysql8的区别

1、db.opt文件

主要记录当前数据库使用的字符集和检验规则等信息。

2、表名.frm文件

存储数据表的结构信息,主要是数据表相关的元数据信息,包括数据表的表结构定义信息,每张表都会有一个frm文件。

值得注意的是:MySQL8版本中的innodb存储引擎的表没有frm文件。MySQL8开始删除了原来的frm文件,并采用 Serialized Dictionary Information (SDI),SDI信息源记录保存在ibd文件中。

3、表名.ibd文件

存放Innodb存储引擎的数据文件和索引文件,主要存放的是独享表空间的数据和索引,每张表对应一个.ibd文件。

4、表名.MYD文件

建表时指定了存储引擎为MyISAM,主要存放MyISAM存储引擎数据表中的数据,每张MyISAM存储引擎表对应一个.MYD文件。

5.表名_xxx.sdi 文件(mysql8才有)

MySQL8不仅将元数据信息存储在数据字典表中,同时也冗余存储了一份在SDI中。对于非InnoDB表,SDI数据在后缀为.sdi的文件中,而对于innodb,SDI数据则直接存储与ibd中

6、表名.MYI文件

MyISAM存储引擎专用的文件格式,主要存放与MyISAM存储引擎数据表相关的索引信息,每张MyISAM存储引擎表对应一个.MYI文件。

其他文件例如ibdata文件、ibdata1文件、ib_logfile0和ib_logfile1文件,配置文件,pid文件就不作介绍了

这里看一个参数(这个参数只有在MySQL5.6或者是更高的版本中才可以使用)

sql 复制代码
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set, 1 warning (0.00 sec)
--ON代表独立表空间管理,OFF代表共享表空间管理;
--"innodb_file_per_table"
--修改数据库的表空间管理方式 修改innodb_file_per_table的参数值即可,但是修改不能影响之前已经使用过的共享表空间和独立表空间;
--innodb_file_per_table=1 为使用独占表空间
--innodb_file_per_table=0 为使用共享表空间

这个参数就是启用独立表空间, InnoDB存储引擎产生的表都会自己独立的表空间文件,也就是".ibd"文件。

对立的就是共享表存储方式,则会使用".ibdata"文件来存放,所有表共同使用一个(或者多个, 可自行配置)ibdata文件。

ibdata文件可以通过以下两个参数配置组成:

innodb_data_home_dir(数据存放目录)

innodb_data_file_path (配置每个文件的名称)

innodb_data_file_path中可以一次配置多个ibdata文件 如:

innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend 配置方式

2.数据文件存放地址

sql 复制代码
show variables like '%data%';

很明显结果数据文件存放在D:\vmdata\mysqlw\Data\ 这个目录下,datadir,或者直接在配置文件里找这个目录哦

相关推荐
蓝创工坊Blue Foundry18 分钟前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
一嘴一个橘子34 分钟前
MySqL 的 B+树、 叶子节点、非叶子节点
mysql
麦聪聊数据39 分钟前
企业数据市场建设(三):API 化服务封装,让数据开箱即用、避免重复开发
数据库
脱胎换骨-军哥43 分钟前
C++数据库存储引擎内核开发:B+树索引与MVCC并发控制的完整实现
数据库·c++·b树
麦聪聊数据1 小时前
企业数据市场建设(四):流程闭环与价值运营,让数据市场真正转起来
运维·数据库
正儿八经的少年1 小时前
redis 的大 key 和热 key 详解
数据库·redis·缓存
AI砖家1 小时前
多智能体系统实战:架构设计、数据库表设计与 Skill 体系
数据库·多智能体·skill·agent架构设计·agengt
夜雪一千2 小时前
MySQL查询条件的顺序是否影响查询效率
数据库·mysql
X-⃢_⃢-X2 小时前
十、Redis之布隆过滤器
数据库·redis·缓存
Nturmoils2 小时前
订单号查出了三笔,我以为是数据脏了,其实是自己写错了
数据库