因为之前公司环境遭到攻击,被植入了木马,没办法删除,只能重新初始化系统并进行备份,所以需要将mysql数据库进行恢复,由于手里没有sql备份脚本,只有data文件夹,上网找了好多迁移data文件夹的方法都不行,最后只能用idb文件进行恢复单个表的恢复。方法如下:以xxljob数据库为例:

首先你要知道数据库名称和对应表结构,然后进行创建

图片[1]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

这里我用之前备份的sql进行了运行,但里面是没有数据的,只有表结构

接下来清空表空间:

ALTER TABLE xxl_job_group DISCARD TABLESPACE;

因为是使用idb文件,所以需要对每个表都进行,非常麻烦,所以我想到了使用excel表格进行统一处理,将sql分段记性填写,然后进行组装

图片[2]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

这个是组装公式:

图片[3]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

在完成一条后向下拉取,即可生成剩下的。

之后将生成的sql复制进mysql中运行

图片[4]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

接下来进入服务器,找到对应数据库data的存放位置

图片[5]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

可以看到里面什么都没有,接下来将idb文件复制进该目录下,并修改权限

图片[6]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

修改权限命令:

chmod -R 777 xxl@002djob/

图片[7]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

可以看到权限都改变了,这里一定要进行权限的修改,如果不修改,在进行接下来的恢复表空间时会报错。

接下来用相同的方法在excel表格中进行恢复表空间sql的组装

恢复表空间sql:

ALTER TABLE xxl_job_group import TABLESPACE;
excel样式:

图片[8]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

进行和刚才清空同样的操作:

图片[9]-Mysql使用idb文件进行数据迁移-www.88531.cn资享网

这就算恢复成功了,在次点击数据库即可看到数据。

因为之前找数据库的恢复实在太过麻烦,网上的好多都不生效,或者没说明白,所以在此记录一下。

来源地址:Mysql使用idb文件进行数据迁移

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^

© 版权声明