当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 解析:轻松了解 MySQL中损坏的MyISAM表

MYSQL
提高MySQL 查询效率的三个技巧
mysql同步复制搭建方法指南详细步骤
详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
MySQL Replace INTO的使用
mysql 分页优化解析
同时运行多个MySQL服务器的方法
mysql主从服务器同步心得体会
删除mysql数据库中的重复数据记录
mysql忘记密码的解决方法
mysql替换表中的字符串的sql语句
Lost connection to MySQL server during query的解决
mysql出现Error performing load command的解决方法
mysql中的“money”类型说明
mysql常见错误集锦
MYSQL administrator 使用
MYSQL初学者命令行使用指南
MySQL的Query Cache原理分析
linux下改良版本mysqldump来备份MYSQL数据库
mysql删除表中某一字段重复的记录
log引起的mysql不能启动的解决方法

MYSQL 中的 解析:轻松了解 MySQL中损坏的MyISAM表


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 85 ::
收藏到网摘: n/a

即使MyISAM表格式非常可靠(SQL语句对表做的所有改变在语句返回之前被写下),如果下列任何事件发生,你依然可以获得损坏的表:

· mysqld进程在写中间被杀掉。

· 发生未预期的计算机关闭(例如,计算机被关闭)。

· 硬件故障。

· 你可以同时在正被服务器修改的表上使用外部程序(如myisamchk)。

· MySQL或MyISAM代码的软件缺陷。

一个损坏的表的典型症状如下:

· 当在从表中选择数据之时,你得到如下错误:

· Incorrect key file for table: '...'. Try to repair it

· 查询不能在表中找到行或返回不完全的数据。

你可以用CHECK TABLE statement语句来检查MyISAM表的健康,并用REPAIR TABLE修复一个损坏的MyISAM表。当mysqld不运行之时,你也可以用myisamchk命令检查或修理一个表。

如果你的表变得频繁损坏,你应该试着确定为什么会这样的原因。要明白的最重要的事是表变得损坏是不是因为服务器崩溃的结果。你可以在错误日志中查找最近的restarted mysqld消息来早期验证这个。如果存在这样一个消息,则表损坏是服务器死掉的一个结果是很有可能的。否则,损坏可能在正常操作中发生。这是一个缺陷。你应该试着创建一个展示这个问题的可重复生成的测试案例。