Mac的mysql出现Table 'AAA' is marked as crashed and should be repaired

在用mac爬数据的时候电脑卡了,于是强制关闭计算机,重新再跑爬虫的时候,出现了 Table 'AAA' is marked as crashed and should be repaired   的提示,AAA是我操作的表,

此时这个表是可以进行一些简单的操作的,比如说  select * from AAA limit 1,或者select count(*) from AAA,,但是多加一些条件就不行了,还是提示 AAA crashed 了。

查询了网上的解决方案,说是用myisamchk工具语句(命令?)来解决,试了好多次都不行,以下是错误示范:

          01. 在 mysql -u -p登陆数据库以后直接输入 myisamchk--不行,换到AAA所在的数据库里面执行 myisamchk --不行

          02.打开到进入到   usr/mysql/bin/myisamchk  然后执行myisamchk 还是不行

          03.进入到 usr/mysql/data/XXX ,其中XXX是表AAA所在的database,然后执行myisamchk,of course 还是不行

          04.切换到root权限(sudo -i命令)重来上面各个步骤,都不行

          05.不行不行都不行。。。。。。。,不知道为什么myisamchk怎么用(难道必须是windows?)

####  正确示范在这里  ######

后来查到mysql有 check 和repair 两种命令可以用来查询和修复上述问题,步骤如下:

     01.登陆到mysql的那个datababse 里,比如我登陆到我的XXX 数据库     mysql -u -p XXX,然后输入密码

      02.接着,使用check语句查询那张有问题的AAA表,check table AAA,出现如下:

+--------------+-------+----------+-----------------------------------------------------------+
| Table        | Op    | Msg_type | Msg_text                                                  |
+--------------+-------+----------+-----------------------------------------------------------+
| XXX.AAA | check | error    | Size of datafile is: 54582012         Should be: 54900032 |
| XXX.AAA | check | error    | Corrupt                                                   |
+--------------+-------+----------+-----------------------------------------------------------+


而用同样的语句查看另外一张没有问题的BBB表是这样的:

+---------------+-------+----------+----------+
| Table         | Op    | Msg_type | Msg_text |
+---------------+-------+----------+----------+
| XXX.BBB | check | status   | OK       |
+---------------+-------+----------+----------+


所以AAA确实有问题,此时要用 repair 命令来解决:

repari table AAA,然后一会儿就修复完毕,再次用check table AAA的时候可以看到 status ok 的状态,然后AAA就修复了





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值