从 160 个无名称的检索文件重建 MySQL 数据库

从 160 个无名称的检索文件重建 MySQL 数据库

我的服务器崩溃了,硬盘也随之损坏。我将硬盘放入 USB 外壳中,但主分区无法安装,因为分区已损坏。我可以看到 USB 硬盘,但无法安装它。使用“dd”命令,我找到了一个超级块,并制作了旧硬盘的映像。

从该图像中,我能够检索我的网络文件,但我真正需要的是数据库,所以我使用了“e2fsck”,它将所有内容转储到 lost+found 目录中,里面有很多内容。

我已经检查了整个 lost+found 目录,首先整理出了所有的 MySQL 文件,然后整理出了带有日期和时间戳的文件,以与我尝试检索的数据库相匹配。

每个文件名都是原始文件的 inode 编号,看起来它们按某种顺序排列,因此这些表可能是一次性创建的,一个接一个。但是,没有任何规律,为什么 inode 编号的顺序会中断?

标记为“MISAM”的文件是 .MYI 文件。

标有“定义”的文件是 .FRM 文件。有些显示版本 9,有些显示版本 10 - 这有什么区别吗?

标有“数据”的文件是 .MYD 文件。有些显示“数据”,有些显示“DBase 3 数据文件” - 这有什么区别吗?

我可以使用“cat”命令查看文件内容,但几乎不可能确定它属于哪个表。如果我有表名列表,有没有办法找出哪些文件属于哪些表?

即使如此,我如何确定 frm、myi 和 myd 文件是否属于同一张表?

有什么想法吗?

答案1

从备份中恢复数据库会容易得多。

哦...

相关内容