当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 带你轻松接触 MySQL中损坏的MyISAM表

MYSQL
MySQL忘记密码恢复密码的实现方法
mysql 时间转换函数的使用方法
使用mysql的disctinct group by查询不重复记录
mysql备份恢复mysqldump.exe几个常用用例
超详细mysql left join,right join,inner join用法分析
mysql 5.0.67最新版替代MySQL 5.0.51b版本官方下载
比较详细的MySQL字段类型说明
mysql 记录不存在时插入 记录存在则更新的实现方法
MYSQL基础之连接MYSQL、修改密码、添加用户
mysql数据库优化必会的几个参数中文解释
mysql中文排序注意事项与实现方法
MySQL 5.0触发器参考教程
MySQL5创建存储过程的示例
MYSQL5 masterslave数据同步配置方法
mysql数据库导出xml的实现方法
MySql增加用户、授权、修改密码等语句
Mysql默认设置的危险性分析
用MySQL创建数据库和数据库表代码
Mysql如何避免全表扫描的方法
mysql的校对规则引起的问题分析

MYSQL 中的 带你轻松接触 MySQL中损坏的MyISAM表


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