mysql frm是什么文件
在mysql中,frm的意思为“表定义”,是描述数据表结构的文件。frm文件是用来保存每个数据表的元数据信息,包括表结构的定义等。frm文件跟数据库存储引擎无关,也就是任何存储引擎
<blockquote><p>在mysql中,frm的意思为“表定义”,是描述数据表结构的文件。frm文件是用来保存每个数据表的元数据信息,包括表结构的定义等。frm文件跟数据库存储引擎无关,也就是任何存储引擎的数据表都必须有frm文件,命名方式为“数据表名.frm”。</p></blockquote>
本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。
在mysql中,frm的意思为“表定义”,是描述数据表结构的文件。
在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等。
.frm文件跟数据库存储引擎无关,也就是任何存储引擎的数据表都必须有.frm文件,命名方式为数据表名.frm,如user.frm. .frm文件可以用来在数据库崩溃时恢复表结构。
通常frm文件是不会损坏的,但是如果出现特殊情况出现frm文件损坏也不要放弃希望,例如下面报错:
MySQL通过sql/table.cc的create_frm()函数创建frm文件,创建出来的frm文件是二进制文件,需要通过hexdump解析成16进制来分析。
create_frm()函数对frm文件头部定义的代码
参考:https://www.percona.com/blog/2015/07/09/obtain-mysql-version-frm-file/
列属性结构:
红色部分:字段序号(4开始,4、5、6就是字段第一第二第三)
蓝色部分:字段长度
棕色部分:是否为空
绿色部分:字段类型
黄色部分:字符集
索引属性结构:
索引头部:
淡蓝色部分:索引统计数
粉色部分:索引总共有多少列
索引主体:
棕色部分:是否唯一索引
红色部分:表中列的序号
绿色部分:表中对应列的属性
字段默认值:
以上就是mysql frm是什么文件的详细内容,更多请关注每日运维其它相关文章!