表损坏原因过程大致如下,过了个国庆没有查看服务器状态,7号晚上手机收到ECS服务器异常短信,查了下发现是磁盘满了,导致无法创建临时空间,造成商城无法访问,速速的解决方法是删除了大量日志文件,访问网站发现已经ok了,一切正常,今天客户忽然打电话说,网站的搜索功能出现问题,我查了下错误原因
报错信息 Table '.\Tablename\**** ' is marked as crashed and should be repaired,于是通过命令修复。
之前在用php的cms的项目也出现过这种问题,用Phpmyadmin上的repair按纽就自动修复了。
这次直接使用mysql自带的工具 myisamchk ,此工具在bin路径下,使用方式如下,路径为存放数据库数据文件的路径,数据库名对应要修复的数据库路径,如果是系统的表损坏,数据库名为mysql。
myisamchk -f \data\数据库名\*.MYI
如 myisamchk -c -r ../data/tablename/mytable.MYI</span>
如 myisamchk -c -r ../data/tablename/mytable.MYI</span>
如 myisamchk -c -r ../data/tablename/mytable.MYI</span>
官方也有修复表的教程 参见此链接 http://dev.mysql.com/doc/refman/5.7/en/myisam-repair.html