MySQL InnoDB数据存储文件类型说明

前言

Linux服务器上安装好MySQL数据库之后,进入以下目录

/var/lib/mysql/

会发现已经建立好的schema文件和数据文件,进入其中一个schema文件夹,基本主要有以下三种类型的文件,如下举例,我们已经有一个表是message_push_record

  • db.opt
  • message_push_record.ibd
  • message_push_record.frm
MySQL文件类型说明
1. db.opt

以目前项目中的举例,该文件内容如下

default-character-set=utf8mb4
default-collation=utf8mb4_general_ci
  • MySQL的每个数据库目录中有一个文件db.opt, create database时会自动生成一个文件db.opt。该文件主要用来存储当前数据库的默认字符集和字符校验规则,show create database时显示数据库默认字符集即db.opt中字符集
  • 这个文件丢失不影响数据库运行,该文件丢失之后新建表时,找不到数据库的默认字符集,就把character_set_server当成数据库的默认字符集,show create database时显示character_set_server字符集
2. *.ibd

MySQL 使用 InnoDB 存储表时,会将表的定义和数据索引等信息分开存储,其中前者存储在.frm文件中,后者存储在.ibd文件中。
InnoDB 中用于存储数据的文件总共有两个部分,一是系统表空间文件,包括 ibdata1、ibdata2 等文件,其中存储了 InnoDB 系统信息和用户数据库表数据和索引,是所有表公用的。
当打开 innodb_file_per_table 选项时,.ibd 文件就是每一个表独有的表空间,文件存储了当前表的数据和相关的索引数据

3. *.frm

无论在 MySQL 中选择了哪个存储引擎,所有的 MySQL 表都会在硬盘上创建一个.frm文件用来描述表的格式或者说定义;.frm文件的格式在不同的平台上都是相同的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值