- 保證當前系統(tǒng)中沒有安裝mysql
- 新安裝mysql
- 使用navicat或mysql命令行創(chuàng)建相同的數(shù)據(jù)庫,結(jié)構(gòu)一致
ALTER TABLE example_table DISCARD TABLESPACE;
example_table 指的是表名
執(zhí)行完后, 數(shù)據(jù)庫目錄下的 .ibd 文件都不見了
執(zhí)行拷貝, 只拷貝 .ibd 文件:
若是提示權(quán)限不足,請?zhí)嵘龣?quán)限
cp -r /home/sower/app/mysqlbak/mysql/fhxytextbook/ /var/lib/mysql/fhxytextbook/
/home/sower/app/mysqlbak/mysql/fhxytextbook/
是備份的數(shù)據(jù)庫
/var/lib/mysql/fhxytextbook/
是新建的數(shù)據(jù)庫
重新修改數(shù)據(jù)庫文件夾權(quán)限
sudo chown mysql:mysql -R /var/lib/mysql/fhxytextbook/
再次使用 navicat或mysql命令行 執(zhí)行以下語句
ALTER TABLE example_table IMPORT TABLESPACE;
最后重啟一下mysql
sudo systemctl restart mysql.service
重要:最好把還原的數(shù)據(jù)庫導出腳本再導入一次。防止莫名的錯誤,比如ID重復問題。
參考地址:https://stackoverflow.com/questions/26868956/restore-table-structure-from-frm-and-ibd-files