Mysql 恢复ibd文件
血泪教训~原先部署系统的同事安装mysql时数据文件映射到了根目录,领导觉得根目录文件很乱,直接误删linux上的根目录文件,导致平台的测试环境+开发环境数据库全部瘫痪~~还行找回了ibd文件。。
1、创建一个同名的数据库,***注意点:字符集和排序规则需要跟之前保持一样!
2、创建表结构,***注意点:字段顺序跟格式需要跟之前保持一样!
3、清掉表空间:清除你创建的表的自产生的ibd文件
ALTER TABLE users DISCARD TABLESPACE;
4、先查找你数据库存放的目录地址,cp 把找回来的idb文件放到sql查询出来的数据库文件目录下,
show global variables like "%datadir%";
5、重新导入表空间
ALTER TABLE users IMPORT TABLESPACE;
6、查看数据是否恢复
6.1 如果打开表,mysql状态停止--->你的表结构跟原先不一样
6.2 如果打开表,发现存在乱码情况--->你的表字符集跟排序规则跟原先不一样