没删过库的程序员不是正经程序员!
起因:
工作疏忽,删除了几张数据表,因为用的阿里云RDS可以恢复备份,但是数据就会回到当天凌晨,这样新数据变会丢失,于是利用Mysql的ibd文件进行单表恢复。
解决:
1,因为是阿里云RDS,在阿里云后台下载数据库备份文件:
2,然后解压,在里面找到对应的ibd文件:
3,我这里是在本地数据库恢复,将这个库导入到本地数据库,空数据就行,然后移除对应的表空间:
alter table raw_material_list DISCARD TABLESPACE;
4,关闭数据库,将备份的ibd文件移动到Mysql对应目录,game为库名:
5,重启数据库,然后再重新导入表空间,数据就恢复了:
alter table raw_material_list IMPORT TABLESPACE;
注意:数据库的引擎和表结构一定要和之前一致。
前面一句话写错了,应该是没删过库的程序员不是正经程序员。