之前由于被黑客入侵,数据库被覆盖,而备份只有残缺的frm和ibd文件,很是苦恼!

百般搜索终于摸索出了解决办法。
- 创建同名数据库(例:原数据库名为wp,则新建一个名为wp的数据库);
- 然后把.frm文件拷贝到data/数据库名 文件夹下,用于一会恢复表结构;
-
cd到data/数据库名 目录下,执行以下命令:
mysqlfrm –server=root:rootpassword@localhost mydb:mytable.frm –port=3307
注意:rootpassword为数据库密码 如果没有可以不填,mydb为数据库名,mytable为表名,port不能为3306;
-
执行后稍等片刻就会在命令行打印出创建表的sql语句,然后复制出来利用sql管理工具执行去创建表(如果执行之前数据库中已经存在表则先删除此数据表然后再执行sql语句);
此时数据库和表结构已经恢复完毕;如果提示表不存在。则在语句最前面加上drop table if exists mytable;
- 删除data目录下wp库的idb文件。
- 将原数据库的idb文件复制进去。
-
登入mysql数据库,执行以下命令
ALTER TABLE `数据库名`.`表名` IMPORT TABLESPACE;
至此数据库恢复成功!



