修复mysql表的方法

问题描述
mysqld-nt: Table 'tablename' is marked as crashed and should be repaired

分析原因
操作系统关机时,正在往数据库的这个表里保存数据,导致表损坏。但多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少。

解决方法:

1.MySQL Command Line Client
  分析表:analyze table xxx
  检查表:check table xxx
 
  如果,获得不是OK就是有问题需要修复。 
  修复表:repair table 表名 [选项]
          选项如下:
           QUICK 用在数据表还没被修改的情况下,速度最快
           EXTENDED 试图去恢复每个数据行,会产生一些垃圾数据行,万般无奈的情况下用
           USE_FRM 用在.MYI文件丢失或者头部受到破坏的情况下。利用.frm的定义来重建索引
  多数情况下,简单得用”repair table tablename”不加选项就可以搞定问题。但是当.MYI文件丢失或者头部受到破坏时,这样的方式不管用,例如:


另外,也可以使用myisamchk或者使用mysql内建命令mysqlcheck来修复。

参考:http://rubyqiu.php.blog.163.com/blog/static/86141523200810223225729/

阅读更多
个人分类: MYSQL
想对作者说点什么? 我来说一句

mysql修复的实用命令

2010年09月09日 108B 下载

phpmyadmin

2015年08月21日 9.51MB 下载

没有更多推荐了,返回首页

不良信息举报

修复mysql表的方法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭