如果,数据库崩了,意外停电导致的。实在恢复不了,将 MySQL 数据备份了。重装了MySQL。数据库也运行起来了。
但是当进行下面操作时候,操作完成就出现各种问题。
1 新建 innodb 数据库
2 使用 工具 生成 表结构SQL,生成表。
3 解绑 frm 和 ibd 文件 使用 此下面命令 table 后面是表名 discard
alter table 表名 discard tablespace;
4 解绑完成后 将原来的 ibd文件 覆盖现在的ibd 文件。
5 关联 将 新的 ibd文件 和 frm 关联 同样的table 后面是表名 import
alter table 表名 import tablespace;
上面按步骤一步一步来比较慢,所以我就将所有恢复的表 一次 解绑。多行命令一次执行了。
然后 覆盖ibd文件,然后再 一次绑定。
因为用的是数据库 恢复工具 ,在恢复frm的SQL过程中,有些frm没有生成SQL。
导致 frm没有,而我覆盖ibd文件也是一次性覆盖的。
导致 有些ibd文件没有对应的frm文件。就是这个原因导致的。 frm和ibd文件 是一一对应的。如果存在不对应。就会导致各种报错。
其实都和这些报错没有关系,重新安装的 数据库 root权限,内存磁盘这些都给的很大。没有问题。
就是因为 数据恢复 里面放了 多余的 ibd文件或者frm文件导致的。
记住这个事一个坑啊!!!郁闷 搞了一天~~~ 图快反而慢了~~~
网友评论