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

MYSQL
Mysql数据库常见的“#1251”錯誤分析
SQL 查询语句积累
MyGeneration连接MySql数据库的解决办法
新手扫盲:MySQL入门基础知识简介
如何在MySQL中获得更好的搜索结果
浅谈如何应用JDBC连接数据库MySQL
实际应用:MySQL5存储过程的编写实践
MySQL5的异常处理
SQL查询语句精华使用简要
MySQL数据库基础:数据类型及列类型
MySQL 忘记口令的解决办法
MySQL账户相关
MySQL存在权限提升及安全限制绕过漏洞
MySQL手册版本 5.0.20-MySQL优化(六)
新手入门--全面介绍MySQL的基础应用
一步步教你在Windows环境下安装MySQL
MySQL手册版本 5.0.20-MySQL优化(一)
MySQL手册版本 5.0.20-MySQL同步(三)
SQL查询语句对象化的实现(C#)
真的? MySQL被计划转为Linux文件系统

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 70 ::
收藏到网摘: 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消息来早期验证这个。如果存在这样一个消息,则表损坏是服务器死掉的一个结果是很有可能的。否则,损坏可能在正常操作中发生。这是一个缺陷。你应该试着创建一个展示这个问题的可重复生成的测试案例。