Skip to content

数据库文件误删恢复教程

⚠️ 立刻停止数据库服务

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

MySQL 恢复

第一步:停止服务

cmd
net stop MySQL80

services.msc → 找到 MySQL → 停止。

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

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

  1. RecuvaEaseUS 扫描 MySQL 数据目录。
  2. 默认路径:C:\ProgramData\MySQL\MySQL Server 8.0\Data\
  3. 恢复 .ibd.frmibdata1ib_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邮箱恢复 | 文件被覆盖恢复

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