操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

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

2007-11-30 作者:823012 网友评论 0 条 点击进入论坛

  通常情况下,即使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消息来早期验证这个。如果存在这样一个消息,则表损坏是服务器死掉的一个结果是很有可能的。否则,损坏可能在正常操作中发生。这是一个缺陷。你应该试着创建一个展示这个问题的可重复生成的测试案例。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46473 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail