环境
linux-centos7
mysql8.0.24
mysql 存储引擎 innodb
存储位置
查看mysql的数据的存储位置 ibd2sdi --dump-file=[表名].txt [表名].ibd
切换到数据的存储目录: cd /var/lib/mysql
切换到一个数据库下: cd /testdb
文件说明
在 mysql57 版本中,一张表对应的是两个文件,例如:对于上述的 testdb
表,在 mysql57 中对应的是应该是量文件,分别是 testTable.ibd
和 testTable.frm
。
.frm
文件中存储时是表结构的文件。.ibd
文件中存储的是表数据和索引的文件。该表的索引(B+树)的每个非叶子节点存储索引,叶子节点存储索引和索引对应的数据。
在 mysql80 版本中将原本的 .frm
与 .idb
文件进行了整合,整合到 .idb文件中。如果你觉得不是,那么你可以通过 ibd2sdi --dump-file=test.db.txt testdb.ibd
命令生成一个 txt
文档。(你可以将 idn
文件和生成的 .txt
文件类比成 .class
文件和 .java
文件)
我们可以在成的 testTable.txt
文件中看到原本有 .frm
存储的表的结构信息