mysql 利用ibd文件恢复数据库

2021/10/25 2:09:34

本文主要是介绍mysql 利用ibd文件恢复数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

mysql 利用ibd文件恢复数据库,需要有原来数据库中表的结构

如果数据库文件非常大的话,这种方式就非常实用了,首先需要备份的数据库上右键——转储sql文件——仅结构导出该数据库的结构的sql文件,然后按照删除表空间——ibd文件复制到新建的数据库下——导入表空间的操作即可恢复数据库中的数据。此法也挺麻烦,需要逐个表进行删除表空间和恢复表空间,还是数据结构和数据 一块备份来的利索。

利用拷贝data目录文件的方式迁移mysql数据库

需要拷贝的文件包括:数据库文件(例如上图所示的gd_base、common、gd_dbwizard等数据库)和  ibdata1  (这个必须拷贝)这个需要验证一下。ibdata1肯定与C:\ProgramData\MySQL\MySQL Server 8.0\Data下的ibdata1冲突,导致现有的其他数据库文件打不开,这个有待验证!!!

项目踩坑之路_InitiativeYu的博客-CSDN博客

 

此方法mysql5.7版本以上适用。
假如你的数据库表都没了,而mysql目录下的data中.ibd还在的话,你可以试试此方法。
创建一个新的数据库
创建一个表(表名与待恢复的表名相同),字段结构跟丢失的一样,
进入该数据库,删除该表空间

例如: ALTER TABLE project DISCARD TABLESPACE;

project是我的表

将project.ibd复制到新建的数据库下,执行命令,导入表空间。

ALTER TABLE project IMPORT TABLESPACE;

这时候查看表,数据就显示出来了



这篇关于mysql 利用ibd文件恢复数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程