Mysql数据从镜像文件(ibd)恢复

一、简介

项目已经开发到一半,然后提出修改模块内容,模块相应数据删除了。然后需要恢复数据。从镜像备份。

二、开始操作

2.1、首先找到MySQL数据库的data目录

我这边是在docker中安装了MySQL5.7的镜像,然后配置了外部挂载data数据。
在这里插入图片描述

2.2、在MySQL上新增一个test数据库

在这里插入图片描述
在数据库中增加了图中所需要恢复的表。需要保证这里创建的表和数据恢复的表的表结构相同。

2.3、删除sp_same_deployment表的表空间

ALTER TABLE sp_same_deployment DISCARD TABLESPACE;

删除后可以看到data文件夹下的原来的sp_same_deployment.ibd文件没有了。
在这里插入图片描述

2.4、将镜像备份中的sp_same_deployment.ibd上传到data下的数据库文件夹中

在这里插入图片描述
上传后,文件的权限为root。需要修改权限
在这里插入图片描述

2.5、修改新上传的文件的ibd文件的权限

修改ibd文件的权限和已存在的文件的权限相同。

chown polkitd:ssh_keys sp_same_deployment.ibd

在这里插入图片描述

2.6、重新导入表空间

ALTER TABLE sp_same_deployment IMPORT TABLESPACE;

猜你喜欢

转载自blog.csdn.net/weixin_38657051/article/details/106210348