表mysql物理文件被删除的解决方案

表mysql物理文件被删除的解决方案
前言

1,该方法介绍了如何保存表的名称(未恢复数据)。如果我们想恢复原来的数据,我们可以使用extundelete恢复文件放回去。
2、通常不适用于所有情况如果直接进入完美的FRM和IDB文件可以放。
三.此方法也适用于数据表迁移(只迁移了一个表),因为丢弃重新导入要比第一个转储恢复快得多。
建议:平时备份桌子的结构是很重要的。
如果你删除MySQL文件(。FRM。IDB)直接在mysql5.6,你可能是悲剧,你可能无法返回表的名字
例子如下

- datadir目录下的所有操作
直接删除的表tracking20160501物理文件
RM -射频tracking20160501 *。
-删除frm文件和表tracking20160501 IDB文件
-这一次数据库中没有看到表
显示表;
-查看数据库表
但是,如果要创建表或删除表,则可能是悲剧性的。
MySQL >创建表tracking20160501(ID int);
错误1050(42s01):table'tracking20160501'already存在
-已经看到桌子已经存在了。
MySQL >删除表tracking20160501;
错误1051(42s02):未知table'kdnet_analyze tracking20160501。
-悲剧不能被创造或删除。
-查看当前的物理文件
LS tracking20160501 *。
tracking20160501.ibd
-前面已经删除的表空间文件,他创建了一个新的创建表命令,这个命令可能是使用它的结果。
原因:因为直接删除物理文件表,但information_schema或MySQL数据库MySQL库在桌上(记得在特定的信息没有找到)MySQL也认为表存在,不创建删除表中找不到对应的物理文件,所以不能删除它!这个表名不能用吗

有如下解决方案
找到其他的表(最好是同一个表结构)来查找表称为ip_taobao复制表(表结构。FRM)文件改名为表名删除
CP - ip_taobao.frm tracking20160501.frm
-这是使用一个参数维护MySQL文件的所有者和组
-如果在下列操作中有一些奇怪的东西,您可以重新启动数据库

在废弃家庭的MySQL表中使用废弃空间命令的表空间文件
修改表tracking20160501抛弃表;
复制ip_taobao表空间文件改名为表名删除
CP - ip_taobao.ibd tracking20160501.ibd -使用-维护所有者和组
-用MySQL中的导入空间命令导入新的表空间文件
MySQL >修改表tracking20160501导入表;进口的时间可能要长点
查询OK行,0个受影响,5个警告(7分钟36.94秒)
-现在可以查询、删除和创建此表
MySQL >选择*从tracking20160501限制1
MySQL >删除表tracking20160501;
MySQL >创建表tracking20160501(ID int);
总结

以上就是本文的全部内容。希望本文的内容能给大家的学习工作带来一定的帮助。如果有任何疑问,你可以留言。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部