首先,在MySQL命令行下執行如下命令可以查看MySQL中存放數據的位置:
show global variables like "%datadir%";
我這里的執行結果:
+---------------+---------------------------------------------+
| Variable_name | Value |
+---------------+---------------------------------------------+
| datadir | C:\ProgramData\MySQL\MySQL Server 5.7\Data\ |
+---------------+---------------------------------------------+
1 row in set, 1 warning (0.00 sec)
可以看到在我的電腦上MySQL的存放位置是C:\ProgramData\MySQL\MySQL Server 5.7\Data\
。
不能直接刪除.ibd文件,因為這樣會導致MySQL服務重啟失敗。
所以需要按照如下操作以通過.ibd文件恢復數據表中的數據:
- 刪除表空間:
ALTER TABLE <table_name> DISCARD TABLESPACE;
- 將.ibd文件放到指定位置
- 恢復表空間
ALTER TABLE <table_name> IMPORT TABLESPACE;
參考鏈接:https://blog.csdn.net/airujingye/article/details/70526943