首先,在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文件恢复数据表中的数据:
- 删除表空间:
ALTER TABLE <table_name> DISCARD TABLESPACE;
- 将.ibd文件放到指定位置
- 恢复表空间
ALTER TABLE <table_name> IMPORT TABLESPACE;
参考链接:https://blog.csdn.net/airujingye/article/details/70526943