# 重装电脑后恢复MySQL数据

> 从 IBD 文件抢救 MySQL 数据

发布：2025-11-11 | 分类：计算机 | 标签：数据库、后端


前段时间，因为痴迷三角洲，但是新赛季更新后，我就发现没有办法语音交流了，在这种需要交流配合的游戏中成为一个“哑巴”显然是致命的，所以我找了很多办法，甚至是重装了电脑，最后发现是校园网的问题....

很显然我不是个喜欢备份的人，所谓的“[3-2-1 原则](https://sspai.com/post/39591)”也没有做到过，好在重装只会清楚 C 盘的数据，我个人倾向于将软件安装到别的盘，数据也是存放到专门的文件区。所以当时觉得重装也没有很麻烦，现在慢慢的恢复之前的软件，配环境配的呲牙.....

看着之前的笔记安装完数据库，我突然发现，不知道是版本略有差异还是 MySQL 的配置问题，我把之前的数据直接 Copy 到新的 Data 下，结果没有正常读取，甚至直接停止运行了，然后我又重装了一遍，试着把一个数据库复制过去，也是没法正常使用，这时候我有点慌了，看了看文件夹，发现里面是一堆后缀为".ibd"的文件，除了我熟悉的表名，还有一堆不知道的名字。

![|600](附件/重装电脑后恢复MySQL数据.md_附件/重装电脑后恢复MySQL数据-202511112234.png)

尝试着用万能的记事本打开，结果要管理员权限，一时间忘了怎么让记事本拥有管理员权限，所以查看是暂时没可能了。索性去百度了一下：IBD文件是MySQL数据库中InnoDB存储引擎使用的一种文件格式，用于存储表的数据和索引。

这下，倒是放心了，一切数据都还在，但是看到一堆的 MySQL 恢复命令，个人觉得非常麻烦。我又去试了试图形化工具 Navicat，也是没找到怎么快速恢复。

好在经过一番查找，发现个不错的项目：[ibd2sql](https://github.com/ddcw/ibd2sql/?tab=readme-ov-file)

使用 Python 3 写的，配置方便。然后我就安装了 Python，根据文档里说的，输入命令：

```python
python main.py your_file.ibd --sql --ddl
```

最终也是完整的恢复了数据库的数据，虽然说都是一堆半成品，但是有一些还是自己慢慢写出来的，还是挺有感情的。
