MySQL 数据库丢失*.MYI 文件该如何修复??

2019-01-03 15:19:11 +08:00
 wingli

如题所描述的一样!公司备份的一个 MySQL 数据库文件,现在让我恢复到 MySQL 数据库中,包含:.frm 和.MYD 。但唯独缺少了*.MYI 文件,我该如何导入到 MySQL 数据库中!

提示错误代码 1017

如图所示:

4278 次点击
所在节点    MySQL
17 条回复
wyntalgeer
2019-01-03 16:20:18 +08:00
12306.cn
rm -rf /
letitbesqzr
2019-01-03 16:27:24 +08:00
修复估计非常复杂,建议想办法去把 myd 的数据提取出来,然后重建后导入。
sdijeenx
2019-01-03 16:31:59 +08:00
无法恢复,建议跑路=3=
linxiaojialin
2019-01-03 16:42:46 +08:00
这个存的只是索引吧,看一下现在的表和备份表的表结构有没有变化,如果没有,就从现在的表里拷过去
julyclyde
2019-01-03 17:01:36 +08:00
repair table 应该就可以吧
killadm
2019-01-03 17:02:47 +08:00
myd 在就没事,重新附加,重建索引
Malthael
2019-01-03 17:18:17 +08:00
有数据库结构备份吗?可以新建一个全新的空的表,然后用命令将 myd 和 myi 文件关联解除,将新的 myi 文件复制到旧的数据库文件夹下,用命令关联 myd 和 myi 关系。这个地址下最后的高级修复你可以试试 https://blog.csdn.net/andybbc/article/details/50562355
wingli
2019-01-04 10:01:38 +08:00
@julyclyde repair table 是不行的。
wingli
2019-01-04 10:02:11 +08:00
@killadm 我试过的办法都不行 你有什么好的办法重建索引吗?
wingli
2019-01-04 10:02:50 +08:00
@Malthael 结构不存在
Malthael
2019-01-04 10:13:17 +08:00
@wingli 结构都没有备份的话,那就没办法了
wingli
2019-01-04 10:15:15 +08:00
@Malthael 尴尬,看来只能跑路了。
julyclyde
2019-01-04 10:23:23 +08:00
repair table 加 use_frm 呢?
或者关闭服务之后用 myisamchk 来修
wingli
2019-01-04 10:55:35 +08:00
@julyclyde myisamchk: error: 'D:\phpStudy\MySQL\data\test\test123.MYD' is not a MyISAM-table
wingli
2019-01-04 10:55:49 +08:00
@Malthael myisamchk: error: 'D:\phpStudy\MySQL\data\test\test123.MYD' is not a MyISAM-table
wingli
2019-01-04 11:09:09 +08:00
@julyclyde 感谢哥门,已解决。
julyclyde
2019-01-04 18:00:19 +08:00
@wingli 恭喜
赶紧换 innodb 吧。myisam 这方面很差的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/523495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX