首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqlcheck不会修复表(errno: 2)

mysqlcheck不会修复表(errno: 2)
EN

Stack Overflow用户
提问于 2019-11-15 05:39:10
回答 1查看 322关注 0票数 1

我试图通过mysqlcheck命令修复一些损坏的表,但是它返回以下"errno 2“错误:

代码语言:javascript
复制
# mysqlcheck -u user -p --repair database
Enter password:
database.users                                OK
database.notes
Error    : Can't find file: 'notes' (errno: 2)
status   : Operation failed
...

我甚至不需要存储在那些我无法修复的表中的信息,只要我能够在没有信息的情况下修复这些表就可以了。

您是否知道是否有任何方法来修复损坏的表?

EN

回答 1

Stack Overflow用户

发布于 2022-07-27 12:52:42

为我工作过:

停止MySQL以释放内存,并获取MySQL运行内存参数以放入修复命令:

代码语言:javascript
复制
myisamchk --sort_buffer_size=20M --key_buffer_size=5G --read_buffer_size=8M --write_buffer_size=8M -t DIR_WITH_SPACE -r PATH_TO_TABLE.MYI

DIR_WITH_SPACE必须存储与MYI表文件一样大的tmp文件。如果您不指定它,它将使用系统tmp,小心达到满。

PATH_TO_TABLE.MYI是表的MYI文件,在MySQL数据目录中或在其他地方读/写位置。

那么mysqlcheck应该是无用的,并且表是可用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58870946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档