mysql只有.frm和.ibd如何恢复表
数据恢复
由于各种原因,导致用户的数据没有正常备份,只有.frm和.ibd,在没有ibdata1情况下恢复表数据。
一.安装mysql-utilities
链接: 下载地址
- 安装这个软件的前提是要安装python运行环境,否则可能无法正常安装和运行。安装时记好安装位置;
- 开启cmd,进入C:\Program Files\MySQL\MySQL Utilities 1.6,类似这个的安装目录;
- mysqlfrm.exe --diagnostic “c:\ProgramData\MySQL\MySQLServer8.0\Data\test1\恢复的表.frm” > “C:\Users\用户\Desktop\1.txt”;
这里的意思是把读出来的创建表结构的语句,输入到桌面上的1.txt 文件中,方便复制; - 复制1.txt中的创建语句,创建表。
二.对创建的表进行空间卸载
- alter table 恢复的表名 discard tablespace;
- 找到表的存储位置,删除这个表对应的 .ibd文件;
- 把要恢复的表的.ibd文件拷贝进去。
三.对创建的表进行空间加载
alter table 恢复的表 import tablespace;
等待加载完毕后,这个表就恢复了