1.新建一个空的数据库,字符集为:utf8,排序规则为:utf8_general_ci,如下图所示:

记一次基于InnoDB引擎的数据库恢复

至于为什么为utf8,我还真不太清楚,只是看有的文章上这么写,我也就这么做了,并且可行;我估计原因是原来数据库的编码就是utf8,所以要保持一致

2.新建表结构(一般都会知道要恢复的表的结构,所以直接创建已知的表结构即可)

记一次基于InnoDB引擎的数据库恢复

切记,我红色标识的地方一定要加上,不然后面导入数据的时候会报错。

3.恢复表数据需要将.ibd文件和.frm文件解除绑定,执行如下语句

alter table 表名 discard tablespace;

4.停掉数据库服务,CMD下执行如下命令:

net stop mysql   -- 不一定是mysql,也可能是mysql其他版本,具体情况参考本机安装的服务

5.把该数据对应的.ibd文件放入数据库相应的目录下

6.启动数据库服务,CMD下执行如下命令:

net start mysql   -- 不一定是mysql,也可能是mysql其他版本,具体情况参考本机安装的服务

7.将新的.ibd文件和.frm文件关联起来,执行如下语句

alter table 表名 import tablespace;

8.查询表数据,发现已经全部恢复回来

若不知道表结构进行恢复,或者不理解该文章可参考https://www.2cto.com/database/201709/683413.html,写的不错。

相关文章:

  • 2022-01-09
  • 2022-02-16
  • 2021-09-25
  • 2021-09-01
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-26
  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2021-09-20
  • 2021-08-03
  • 2021-09-21
相关资源
相似解决方案