MySQL数据库某表显示正在使用,无法打开或删除,对应MYD文件怎么修复?
昨天说好的电商618年中大促,可就在这个时候,河南机房出现故障(具体请搜索618河南机房电力事故,河南景安机房官网、西部数码、华夏名网所用的河南机房都受此影响),从早上8点左右开始,差不多整整一天云服务器、VPS等都连接不上,不知损失了客户多少流量!反正本博客受此影响,昨天几乎一整天都打不开……好吧,个人博客而已,损失不大,但是受到的影响也是无法衡量!所以说,数据无价,请随时记得做好备份!好了,闲话不多说,步入今天正题:MySQL数据库某表显示正在使用,并且无法浏览打开、删除怎么办?
受河南机房故障影响,我一客户的微信投票系统出现问题:后台可以登录,活动首页、投票结果等界面一片空白。这是怎么回事呢?首先我想到的可能是源码被篡改(毕竟用的是破解的源码,不排除官方留有后门给篡改程序了)但是经过排除(替换成刚建成时的源码,仍然如此),发现不是源码问题。那就只能检查数据库了。
仔细看了下数据库的表,确实发现有点小异常:某个表显示“正在使用”,明显与别的表不同,而更重要的是这个表也就是投票结果最重要的表,这要是损坏了,直接损失不可估量!这种情况真的可能是由于突然断电,而数据库正好写入导致的错误,这可怎么办呢?找到这个表对应的MYD文件,用txt文本打开看了下,有乱码,看来这样是修复不了的。
直接删除有问题的表(当然要先做好备份),也是不行……经过一番测试琢磨,终于找到简单方法修复被损坏的MYD文件了:
1、在MySQLAdmin中选中有问题的表,也就是损坏的MYD对应的数据表;
2、在列表的最下面,打开下拉框,选择“修复表”,如下图所示:
3、确定执行,如果损坏问题不大的话,一般就能修复MYD文件了!我是按照此方法成功了的!
遇到此问题的朋友不妨先按以上方法试一下,很简单!