表崩溃了,需要修复,通过mysql命令行来执行的方法:
1)service mysql stop
停止mysql服务
2)cd /usr/local/mysql/var/
xxxx 切换到目标数据库表目录下(注意:不切换过来会总提示myisamchk一些错误导致失败);
3)myisamchk -r xxx.MYI
(如果还是提示错误,就多加一个参数-f 强制进行。)
4)service mysql start
重启mysql服务
这样能修复,但是经常还是会经常崩溃。
.
有人说有个长久方法:把服务器上的数据导入到本地,然后在本地用myisamchk -r -f *.MYI
修复了下,然后导回去。这个我还没操作过。
还有同事说,如果这个表修改比较频繁,建议你把数据库表类型由MyISAM
修改为InnoDB
,未经过测试。
后来查明,原来是我的阿里云系统盘空间不够用了,导致mysql数据库的那个主表崩溃,把mysql的一些日志删除后,就解决了该问题。