Skip to content

数据库文件误删恢复教程 ​

⚠️ 立刻停止数据库服务

发现数据库文件被删后,立刻停止 MySQL/SQL Server 服务。数据库进程在持续写入日志(binlog/redo log),每一秒都在覆盖被删文件所在的磁盘区域。

MySQL 恢复 ​

第一步:停止服务 ​

cmd
net stop MySQL80

或 services.msc → 找到 MySQL → 停止。

第二步:恢复 .ibd 和 .frm 文件 ​

InnoDB 的数据文件是 .ibd(每表一个文件空间)或 ibdata1(共享表空间):

  1. 用 Recuva 或 EaseUS 扫描 MySQL 数据目录。
  2. 默认路径:C:\ProgramData\MySQL\MySQL Server 8.0\Data\。
  3. 恢复 .ibd、.frm、ibdata1、ib_logfile*。

第三步:用恢复的 .ibd 文件导入数据 ​

恢复后的 .ibd 不能直接替换当前数据库,需用"表空间导入"方式:

  1. 在新 MySQL 实例中创建同名表结构。
  2. ALTER TABLE table_name DISCARD TABLESPACE。
  3. 把恢复的 .ibd 文件复制到对应目录。
  4. ALTER TABLE table_name IMPORT TABLESPACE。

SQL Server 恢复 ​

恢复 .mdf 和 .ldf ​

  1. 用恢复软件扫描 SQL Server 数据目录(默认 C:\Program Files\Microsoft SQL Server\MSSQL*\MSSQL\DATA\)。
  2. 恢复 .mdf(主数据文件)和 .ldf(日志文件)。
  3. 在 SSMS 中:右键数据库 → 附加 → 选恢复的 .mdf。

📖 相关教程:Outlook邮箱恢复 | 文件被覆盖恢复

本站推荐均基于真实测试,部分链接为推广链接