之前整理了
,这篇再介绍共享表空间误删除的恢复方法。1.独立表空间和共享表空间的区别
独立表空间:
独立表空间直观效果,数据文件为aaa.ibd
共享表空间:
共享表空间直观效果,只有bbb.frm的表结构文件,没有独立的数据文件.ibd。
使用共享表空间时,数据将存储在MySQL数据目录下的ibdata1文件中(需要注意的是,ibdata1里不仅仅存储这里提到的bbb表的数据,还有很多其他的数据也存储在这里。即使使用独立表空间,ibdata1文件也依然存在,用于存储很多系统数据)
2.使用共享表空间时误删表的几种情况和解决方法
1,如果是不小心使用rm -f删除了bbb.frm结构文件,没有重启数据库时,通过命令show create table bbb可以将表结构文件显示出来,保存下来备用;如果重启了数据库,又没有表结构备份,则需要通过Linux下恢复文件的办法找回,然后使用工具来解析frm文件,可以恢复表结构;
2,如果是不小心使用rm -f ib*删除了系统表空间文件及ib_logfile0 和 ib_logfile1三个文件,则也依然可以使用上篇介绍的Linux下恢复文件的办法找回。(小心操作和备份是良药,:) );
3,如果全部文件都被rm -f *给删除掉了,其实和删除了一两个文件情况类似,使用Linux下恢复文件的办法来找回,然后先恢复系统表空间文件,再恢复表结构,然后导入表数据。