mysql 由.ibd文件恢复数据表
ref 路径
这里操作的前提是保持记录行的格式一致
1、不知道这里指的一致是到哪一步?
2、至少我仅仅保持了列数量一致即可恢复,但存在问题
3、问题是,列名混乱、列内容长度修改在mysql中超级慢,有替代办法
4、替代办法:新增一列指定符合要求的长度,从原来列update到新增列,删除原来列
恢复步骤
- 创建数据表,保持表名相同(
假定原数据表的格式还记得
)
如myTable.ibd
->create table myTable ...
- 分离表空间,此时新建表的
ibd
文件会消失
ALTER TABLE myTable DISCARD TABLESPACE;
- 复制有数据的
ibd
文件到新建表的data/
,就是替换掉消失的ibd
文件 - 引入表空间
ALTER TABLE myTable IMPORT TABLESPACE;
如果出现 mysqlServices 异常关闭
- 检查配置文件my.ini是否有修改;
- 待mysqlServices启动后,导出数据,备份。