- 保证当前系统中没有安装mysql
- 新安装mysql
- 使用navicat或mysql命令行创建相同的数据库,结构一致
ALTER TABLE example_table DISCARD TABLESPACE;
example_table 指的是表名
执行完后, 数据库目录下的 .ibd 文件都不见了
执行拷贝, 只拷贝 .ibd 文件:
若是提示权限不足,请提升权限
cp -r /home/sower/app/mysqlbak/mysql/fhxytextbook/ /var/lib/mysql/fhxytextbook/
/home/sower/app/mysqlbak/mysql/fhxytextbook/
是备份的数据库
/var/lib/mysql/fhxytextbook/
是新建的数据库
重新修改数据库文件夹权限
sudo chown mysql:mysql -R /var/lib/mysql/fhxytextbook/
再次使用 navicat或mysql命令行 执行以下语句
ALTER TABLE example_table IMPORT TABLESPACE;
最后重启一下mysql
sudo systemctl restart mysql.service
重要:最好把还原的数据库导出脚本再导入一次。防止莫名的错误,比如ID重复问题。
参考地址:https://stackoverflow.com/questions/26868956/restore-table-structure-from-frm-and-ibd-files