于吉吉的技术博客

建造高性能门户网

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  65 随笔 :: 6 文章 :: 149 评论 :: 0 Trackbacks

如果你的MyIsam表存在大量高并发的读写,那么就可能出现坏表的现象,这是因为MyIsam存储引擎所决定的,一张损坏的表的症状可能是以前某些错误

*.frm 被锁定不能更改
找不到
*.MYI
文件意外结束
记录文件损坏

处理1
使用MySQL自带的myisamchk的工具进行修复,myisamchk不仅可以检查和修复MyIsam表,还可以进行优化和分析表,实际上,它集成了mysql中的check,repair,analyze,optimize的功能,下面是用myisamchk进行修复

myisamchk -r tablename

其中-r参数的含义是recover,在以往的应用,这语句几乎可以解决上面所述碰到的问题,如果还不行,可以使用

myisamchk -o tablename

其中-o参数的含义是--safe-recover,可以进行更安全的修复

处理2
使用MySql的CHECK TABLE和REPAIR TABLE命令来进行修复,CHECK TABLE检查表是否损坏,REPAIR TABLE用来对表坏进行修复

CHECK TABLE tablename [option]

REPAIR 
[option] tablename

具体的参数可以参看MySQL的帮助文档

一般来说第一种方法可以解决大多数的问题,如果采用这两种方法依然无法解决可以与我联系,QQ是34174409

----------------------------------------

by 陈于喆
QQ:34174409
Mail: chenyz@corp.netease.com

posted on 2010-10-10 14:11 陈于喆 阅读(1961) 评论(0)  编辑  收藏 所属分类: mysql

只有注册用户登录后才能发表评论。


网站导航: