是通过复制、粘贴mysql的整个data文件夹进行恢复数据的
现在发现MyISAM类型的表都是正常的。
但是有个数据库能列出数据表,但是点击表之后就说:
#1146 - Table 'eval.class' doesn't exist
只有 MyISAM类型 的表可以通过拷贝文件进行迁移
其他类型的表都必须通过迁移工具迁移
拷贝全了没有? 里面的ibdata1文件拷贝了没有?
直接拷贝 ibdata1 是不妥当的
1、他会覆盖目标数据库的否写表数据
2、把原库的垃圾也带过来了
3、会因磁盘格式的不同等原因,在创建数据块索引时发生错误,无法修复时就废掉了
ibdata1也拷贝了。
有frm文件也不能修复或拿到部分数据么?
先停止 mysql 服务
用命令行方式启动 mysql
你会看到有关文件修复的各种信息
我以前也做过这种在两个 mysql 下直接拷贝文件的事情,但总是没能完美的处理成功
后来都是用指派 datadir 和 innodb_data_file_path 来完成不同 mysql 下数据共享的
你或许可以这样做:在原来的 mysql 中把 innodb 的表转换成 MyISAM 的表(管理工具中只是点点鼠标而已)
将转换后的 MyISAM 表拷贝到目标位置,然后在转换成 innodb
为什么不用mysqldump来做?如果两个mysql版本不一致,可能还需要工具修复下导出的sql文件
直接copy文件夹这种不可取
先停止 mysql 服务
用命令行方式启动 mysql
你会看到有关文件修复的各种信息
我以前也做过这种在两个 mysql 下直接拷贝文件的事情,但总是没能完美的处理成功
后来都是用指派 datadir 和 innodb_data_file_path 来完成不同 mysql 下数据共享的
你或许可以这样做:在原来的 mysql 中把 innodb 的表转换成 MyISAM 的表(管理工具中只是点点鼠标而已)
将转换后的 MyISAM 表拷贝到目标位置,然后在转换成 innodb
那原来的 mysql 的版本号是多少?
给个链接,看看对你是否有帮助 http://www.baidu.com/s?wd=innodb+frm%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F&ie=utf-8
给个链接,看看对你是否有帮助 http://www.baidu.com/s?wd=innodb+frm%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F&ie=utf-8