Mysql有两种存储文件:
MyISAM存储文件分为:.frm,.myd,.myi
.frm:存储表定义
.myd:存储数据
.myi:存储索引
Innodb存储文件分为:.frm,.idb
.frm:存储表定义
.ibd:存储数据和索引
MyISAM的数据恢复
MyISAM的恢复比较简单,新建数据库之后,上传存储文件,然后进入数据库管理,对每个表进行修复就行。
Innode的数据恢复
相对复杂一些,步骤多一些。
首先,新建数据库,导入旧的SQL备份文件,这一步主要得到各个表结构。
然后,对各个表解除表空间:
ALTER TABLE <table_name> DISCARD TABLESPACE;
接着,上传.ibd文件,提示是否覆盖,选择是。
检查各个.ibd文件所属组和用户、权限,是否一致,否则会提示出错。
最后,对各个表重新绑定表空间:
ALTER TABLE <table_name> IMPORT TABLESPACE;
所有数据又回来了。