MySQL从.ibd文件中恢复数据

首先,在MySQL命令行下执行如下命令可以查看MySQL中存放数据的位置:

show global variables like "%datadir%";

我这里的执行结果:

+---------------+---------------------------------------------+
| Variable_name | Value                                       |
+---------------+---------------------------------------------+
| datadir       | C:ProgramDataMySQLMySQL Server 5.7Data |
+---------------+---------------------------------------------+
1 row in set, 1 warning (0.00 sec)

可以看到在我的电脑上MySQL的存放位置是C:ProgramDataMySQLMySQL Server 5.7Data

不能直接删除.ibd文件,因为这样会导致MySQL服务重启失败。
所以需要按照如下操作以通过.ibd文件恢复数据表中的数据:

  1. 删除表空间:
ALTER TABLE <table_name> DISCARD TABLESPACE;
  1. 将.ibd文件放到指定位置
  2. 恢复表空间
ALTER TABLE <table_name>  IMPORT TABLESPACE;  

参考链接:https://blog.csdn.net/airujingye/article/details/70526943

原文地址:https://www.cnblogs.com/zifeiy/p/9082870.html