我试图通过mysqlcheck命令修复一些损坏的表,但是它返回以下"errno 2“错误:
# mysqlcheck -u user -p --repair database
Enter password:
database.users OK
database.notes
Error : Can't find file: 'notes' (errno: 2)
status : Operation failed
...我甚至不需要存储在那些我无法修复的表中的信息,只要我能够在没有信息的情况下修复这些表就可以了。
您是否知道是否有任何方法来修复损坏的表?
发布于 2022-07-27 12:52:42
为我工作过:
停止MySQL以释放内存,并获取MySQL运行内存参数以放入修复命令:
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.MYIDIR_WITH_SPACE必须存储与MYI表文件一样大的tmp文件。如果您不指定它,它将使用系统tmp,小心达到满。
PATH_TO_TABLE.MYI是表的MYI文件,在MySQL数据目录中或在其他地方读/写位置。
那么mysqlcheck应该是无用的,并且表是可用的。
https://stackoverflow.com/questions/58870946
复制相似问题