架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5229|回复: 0

[资料] Table 'tablename' is marked as crashed and should be repaired

[复制链接]
发表于 2019-7-8 17:29:26 | 显示全部楼层 |阅读模式
Table 'xxxx' is marked as crashed and should be repaired
其意主要是说:数据表'table'被标记有问题,需要修复。
QQ截图20190708152224.jpg


问题是什么原因引起的呢?

1、从网上查了下有的说是频繁查询和更表造成的索引错误。

2.还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都 有可能导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。


解决办法:

找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:

其中user.MYI是表名。

然后myisamchk 工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。


QQ截图20190708161802.jpg

新的错误如下:

C:\Program Files\MySQL\MySQL Server 5.7\bin>myisamchk -c -r D:\MySqlDataNew\itsvse.MYI
- recovering (with sort) MyISAM-table 'D:\MySqlDataNew\itsvse.MYI'
Data records: 47262937
- Fixing index 1
- Fixing index 2
- Fixing index 3
- Fixing index 4
- Fixing index 5
myisamchk: error: myisam_sort_buffer_size is too small
MyISAM-table 'D:\MySqlDataNew\itsvse.MYI' is not fixed because o
f errors
Try fixing it by using the --safe-recover (-o), the --force (-f) option or by no
t using the --quick (-q) flag

C:\Program Files\MySQL\MySQL Server 5.7\bin>


myisamchk是没有myisam_sort_buffer_size的,只有sort_buffer_size,估计是sort_buffer_size不足,我的索引MYI文件很大,所以干脆设置–sort_buffer_size=160M。其他参数也设置一下吧,反正不超过内存大小就可以。执行如下命令进行sort_buffer_size设置并且修复表:




QQ截图20190708170958.jpg

但进入mysql仍然不能使用。

最后在mysql>下输入 repair table tablename 成功修复了错误。





上一篇:C# Http请求 上传表单文件(可添加其他参数)
下一篇:分享几个实测的在线接收短信验证码的网站
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-20 03:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表