标题: 如何修复损坏的MySQL数据库
bmbx
元帅
Rank: 1
半梦半醒


论坛元老勋章 论坛财神勋章 论坛之星奖章 大可
UID 22
精华 50
积分 40578
帖子 22279
威望 48750
金币 19390
热心 630
阅读权限 100
注册 2005-7-31
状态 离线
如何修复损坏的MySQL数据库

如何修复损坏的MySQL数据库

技巧主题 根目录-=>系统服务-=>数据服务

技巧作者 泛舟
发表时间 2002-10-09 15:32:22

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

由于断电或非正常关机而导致MySQL数据库出现错误是非常常见的问题。MySQL分别针对不同的数据表类型提供了多个数据检测恢复工具,这些工具是:

myisamchk
isamchk

其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:

myisamchk tablename.MYI

进行检测,如果需要修复的话,可以使用:

myisamchk -of tablename.MYI

关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:

[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!

网友 bmbx 签名 - 网友社区 顶 是一种美德
顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-10-13 23:05
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP