一次恢复数据库表数据的任务,在此之前感谢指导我的各位前辈。
1,刚拿到数据库文件,打开里面只有frm和ibd文件 。
对于数据库了解不深,而像这种恢复数据的工作也没有做过,因此首先百度了一下.frm和.ibd文件是做什么的,见下:
MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。
MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。
2,恢复表结构,在只有.frm文件发现创建的表不能打开,百度之后这道这样恢复是需要表结构的。在有了表结构的SQL语句之后创建表,发现清晰多了,完全就不需要frm文件了,但是ibd文件里的数据还是不能直接覆盖数据库里。在mysql5.5版本下数据库DATA目录并找不到ibd文件,这里不清楚是版本问题还是其他问题。