修复mysql表的方法
2011-01-13 17:15
288 查看
问题描述
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/
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修复数据表的命令方法
- MySQL主从复制报错处理和数据一致性校验及修复方法
- MySql数据表修复方法
- linux mysql 数据表修复方法
- MySQL中MyISAM文件损坏时的一种修复方法
- mysql 数据修复方法
- 【mysql 因为断电表损坏修复方法】
- mysql表优化、分析、检查和修复的方法详解
- MySQL GTID 主从复制错误修复方法
- MySQL中主从复制重复键问题修复方法
- mysql中关于Myisam_recover自动修复的使用方法
- mysql表优化、分析、检查和修复的方法详解
- MySQL GTID 主从复制错误修复方法
- mysql5.7.21启动异常的修复方法
- mysql中关于Myisam_recover自动修复的使用方法
- Mysql 修复表的方法
- mysql修复坏表的方法
- MySQL修复表的三种方法
- MYSQL数据表损坏的原因分析和修复方法小结