如何修复损坏的mysql数据库文件
发布日期:2009-11-15 信息来源:http://www.chysoft.net

由于临时断电或其他原因,mysql数据库服务正在改变数据库文件,文件可能会留下错误的或不一致的状态。当访问受损坏的数据库某些表时,由于这些表已经损坏将不能再正常访问,一般mysql将报错误号为127的错误,此时我们将需要使用mysql自带的工具修改损坏的数据库表。
 (非断电原因不能打开数据库表,如当mysql的数据库表文件超过操作系统指定文件大小时—windows的4G限制,也将出现类似的错误),步骤如下(以windows为例):
1、 停止mysql服务
  运行cmd进入控制,控制台下运行:net stop mysql(服务名)

2、 使用mysql自带命令修复
(假设数据库安装在d:\mysql,数据库文件在d:\mysql\data\db1目录下),进入控制台后进入mysql的bin目录
D:\mysql\bin>myisamchk -r d:\mysql\data\表名.*
D:\mysql\bin> myisamchk --recover d:\mysql\data\db1\表名.*

D:\mysql\bin> myisamchk --saferecover d:\mysql\data\db1\表名.*

3、 重新启动mysql服务
  在dos控制台下运行:net start mysql(服务名)

mysql相关辅助命令(在mysql控制台下运行,查看数据库表)
use 数据库;切换到某个数据库
show tables; 
show tables like '%包含的字符%';  模糊查找
desc 表名; 显示表的结构,看表有没有损坏

粤ICP备11095012号-1
Copyright 2005-2017 深圳市承元软件技术有限公司