Windows环境下解决MySQL Table ‘***’ is marked as crashed and should be repaired问题

摘要

最近在更新文章内容时遇到mysql报错,提示数据表is marked as crashed,需要修复。于是在网上搜解决方法,但都是linux环境下的解决方法,而无Windows下解决方法。因环境不一样,在处理时造成困惑,不利于问题快速解决。现在就整理下Windows下该问题的处理方法,供各位遇到同样问题的程序猿们参考。

问题描述

在更新文章时,突然遇到mysql执行出错,报Table ‘dh_search’ is marked as crashed and should be repaired。

解决方法

在网上搜索该问题之后,无外乎两种解决方法,采用mysqlcheck或myisamchk命令修复解决。但都是linux环境下的,于是就比葫芦画瓢写出Windows环境下的解决方法,分享出来,供各位小白们参考。在操作之前最好备份数据库。

1、先使用mysqlcheck来解决

cd C:\Program Files\MySQL\MySQL Server 5.0\bin
mysqlcheck -hlocalhost -auto-repair -uroot -p dhpsj

命令中的dpsj改为所需要修复的数据库,执行命令后会提示输入root账户密码,我执行命令后发现,所要修复的数据表未执行,第一种方法失败。处理结果如下图:

Mysql Table is marked as crashed,mysqlcheck repaire

2、使用命令myisamchk修复数据库的MYI文件

cd C:\Program Files\MySQL\MySQL Server 5.0\bin
myisamchk -c -r "C:/Data Disk/Mysql Data/dhpsj/dh_search.MYI"

将命令中的dhpsj/dh_search.MYI改为您的数据库名和所需要修复的数据表。执行指令后,修复OK,处理结果如下图:

Mysql Table is marked as crashed,myisamchk repaire

扩展

如果上述操作还不行,就使用 -f 强制执行修复;这是在查资料时提到的。因采用第二种方法就已经解决,该命令并未验证是否可行,仅供参考。命令如下:

myisamchk -c -r -f  "C:/Data Disk/Mysql Data/dhpsj/dh_search.MYI"

转载请注明:半亩方塘 » Windows环境下解决MySQL Table ‘***’ is marked as crashed and should be repaired问题

标签: mysql