糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > mysql ibd 附加_MySQL笔记-ibd文件格式初步分析(仅数据块笔记)

mysql ibd 附加_MySQL笔记-ibd文件格式初步分析(仅数据块笔记)

时间:2021-10-11 03:08:19

相关推荐

mysql ibd 附加_MySQL笔记-ibd文件格式初步分析(仅数据块笔记)

在MySQL建立表后,会在对应的库文件夹下创建2个文件。

一个是frm,一个是ibd,目前这个博文为简单分析下这个文件格式。

这里首先要知道一些预备知识:

查看InnoDB块的大小,一般是16k

show vaiables like '%page%'

从中可以看到innodb_page_size为16384字节。

使用ibd除以这个字节大小,就可以知道这个文件有多少块了!

如:

98304/16384可知,这个gyj_t3.ibd有6个page

其中此库对应的数据为:

看下官方给的文件结图:

第一块为:File Space Header

第二块为:Insert Buffer Bitmap

第三块为:File Segment inode

从第四块开始就是存数据的了,把对应的ibd文件放到windows下,打开看看。直接来看看第四块,数据块,头标识为0x45B

来搜索下:

先来验证下这个是不是第三块的末尾:

C018h,对应的十进制为49176

第一块的位置:

为0018h对应的十进制为24。

这个前面的字符为文件头,用于标识这个是什么格式的文件,等信息。

下面来算算这个是不是第三块结束,的位置:(49176 - 24) / 16384 = 3刚刚好。

这个就是数据位了!

看下对应的数据文件:

从中可以看到,在MySQL数据段中,NULL以及’’不占空间。

int长度是4字节,其他可变长name长度是10字节,用多少长多少。

第二行数据ID:80 00 00 03,下一行在80 00 00 04

如果觉得《mysql ibd 附加_MySQL笔记-ibd文件格式初步分析(仅数据块笔记)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。