恢复还原mysql中的.ibd文件。
1、需先创建一个一样的数据库表结构
2、删除表空间
ALTER TABLE "+dbName+" DISCARD TABLESPACE;
3、复制xxxxx.ibd文件到数据库目录下
4、恢复导入表空间
ALTER TABLE "+dbName+" IMPORT TABLESPACE;
--------恢复frm表结构------`切记:一定要按照顺序操作,否则库会死掉,要重新安装重新来一波`------------------
1、正常mysql服务中创建同样的表名,字段随意1个,表名必须与.frm完全一致
create table app_info(id int);
2、停止数据库服务my.ini中追加
【mysqld】
innodb_force_recovery=6
3、把*.frm进行物理覆盖
4、启动服务执行
desc app_info报错,找到.err文件中的真实列数(我的事例中可以看出是7列)
5、停止服务,去掉my.ini中的innodb_force_recovery=6,再启动服务,删除数据表。
删除后创建对应的列数表
create table app_info(id1 int,id2 int,id3 int,id4 int,id5 int,id6 int,id7 int);
6、重复2、3步骤
服务启动后执行desc即可看到完整的表结构
然后选中表右键“对象信息”可以看到DLL
7、再次停止服务,去掉my.ini中的innodb_force_recovery=6,再启动服务,删除数据表,指定获取的真实dll即可还原表结构
原文地址:https://blog.51cto.com/xuanxy/2461614
时间: 2024-10-10 21:10:16