mysql Innodb下data文件恢复方法

mysql只有data文件夹和表结构的恢复方法

mysql数据库引擎为MyIASM据查直接拷贝到新的数据库就可以用了(未验证),数据库引擎为Innodb时的操作如下:

1、        搭建与原数据库相同的的数据库环境(mysql版本一致);

2、        将data文件夹下的文件复制到搭建的新数据库data文件夹下;

3、        删除数据库下的.ibd(数据文件)和.frm(结构文件,要的就是这个), db.opt不要删除;

4、        执行建表sql,新建一样的表结构;

5、        执行导出表空间sql:ALTER TABLE table_name DISCARDTABLESPACE; 把所有表空间导出,table_name换成需要导出的表,执行后数据库会删除table_name.ibd文件,从原数据库中拷贝table_name.ibd过来;

6、        执行导入表空间sql: ALTER TABLE table_name IMPORT TABLESPACE; 把表空间导入(即从我们原数据库中的table_name.ibd文件中导入),table_name换成需要导入的表;

7、        打开表检查是否已经导入成功,如乱码,重启mysql客户端工具。

注:数据库须正常停机,文件未损坏
--------------------- 
原文:https://blog.csdn.net/vividwq/article/details/77934379 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

使用新浪微博登陆