首页 > 数据库 > MySQL > 正文

Table ‘xxx’ is marked as crashed and should be repaired 错误解决

2024-07-24 12:44:04
字体:
来源:转载
供稿:网友

也可能其中任意方法都可以适用于本数据库。我暂时没有条件测试,有条件的去测试一下,有望解决数据库报此错误的问题。
预防措施:
1、一定要备份一次数据库,起码保留了表结构,有些可有可无的数据,可以直接覆盖。
2、重要的数据要经常注意备份,一般一个月左右备份一次。
3、出现此类错误,一般能够解决,经Vevb.com测试下面的方法是比较可行的。但偶尔会有数据丢失的情况,强烈建议先备份。

复制代码 代码如下:

解决办法:首先需要定位到你的mysql的bin目录,里面包含myisamchk.exe文件的目录
./myisamchk -c -r 数据库表MYI文件的路径(例如:/home/mysql/var/crawlerfeedsky/aaaa.MYI)
如果还不行,就-f 强制修复


windows服务器下mysql的修复方法:
F:/sqldata/mysql/bin>cd .. 返回上级目录
F:/sqldata/mysql>cd data 进入数据库所在目录(mysql的数据库文件都是放在data这个目录里面的)
F:/sqldata/mysql/data>cd jb51 进入数据库,windows服务器中数据库就是一个文件夹(这里以jb51为例子)

F:/sqldata/mysql/data/jb51>myisamchk -r jb51_soft

- recovering (with sort) MyISAM-table 'jb51_soft'
Data records: 7216
- Fixing index 1
- Fixing index 2
- Fixing index 3

F:/sqldata/mysql/data/jb51>

jb51_soft为数据库的表名,提示哪个表错误,就修复哪个表。

为了以后方便,我们可以写成一个批处理,将这个文件保存为fixit.bat放到数据库所在的目录即可。
复制代码 代码如下:

myisamchk -r jb51_soft


下面是网上收集的多种方法,大家可以测试下。
(一)
昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个”Table ‘xxx' is marked as crashed and should be repaired” 的错误。连忙上网搜索,原来修改这个严重的错误很简单:
1. 进入管理mysql的phpmyadmin
2. 在左则选中自己的数据库
3. 在右则勾选中错误信息中的那个'xxx'表
4. 滚动屏幕到下面,有个下拉菜单(With selected:),选择”Repair table”
修改之后,并没有发现有什么数据损失,连忙备份了一份数据库到邮件里面,备份还是很重要的!
(二)
现象:
mysql> use yourealcn
Database changed
mysql> select user,company from biz_user where commend='1' order by regtime desc,checked desc limit 0,5;
ERROR 145 (HY000): Table './yourealcn/biz_user' is marked as crashed and should be repaired
mysql> exit
使用命令myisamchk修复数据库的MYI文件即可
# /usr/local/mysql5/bin/myisamchk -c -r /bak/lib/mysql/yourealcn/biz_user.*
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表