Discuz模板|Discuz插件|Discuz教程|Discuz素材免费下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)所有用户可全部免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需购买会员组方可下载),如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

MySQL快速解决"is marked as crashed and should be repaired"故障

[复制链接]
tuyuanma 发表于 2015-7-20 10:15:45 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


具体报错如下:
' M/ A  _! Y) L7 r7 C4 I6 e! S3 ^6 v2 \) i
Table '.\Tablename\common_member_status' is marked as crashed and should be repaired

MySQL快速解决"is marked as crashed and should be repaired"故障

MySQL快速解决"is marked as crashed and should be repaired"故障
6 b% L# z7 i% f w& U, j% _$ ]
提示说数据库表 common_member_status 被标记有问题,需要修复。我记得以前也出现过类似的问题,但是只要点击Phpmyadmin上的repair按纽就自动修复了,但是这次很绝,什么都没有.于是赶快上网查找原因。最终将问题解决。解决方法如下:
4 p; t& Q2 S2 e) j6 u  u- `( Z* B9 @: C/ d
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:& X5 [/ E/ S* c' |

7 W. z2 e9 R% xmyisamchk -c -r ../data/tablename/common_member_status.MYI
% d" C$ x7 Y/ w' P5 y  v2 `0 W/ B) E, J  f  }
然后myisamchk 工具会帮助你恢复数据表的索引。好象也不用重新启动mysql,问题就解决了。
3 D9 h" t2 d5 N9 M8 n
* U9 V, H, F2 N; [; u7 W问题分析:& I$ x! |3 L& `/ ?. K8 w

; J1 e0 Q) P' A# h- N1、# `* b) {. Q% E. H5 e1 C- M' y
错误产生原因,有网友说是频繁查询和更新dede_archives表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。
& j7 q, l: f( @, p8 I还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致7 i8 y$ h! t" a8 u- Y% y0 j ^
MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。
# l. ]& T l2 z4 U& E: m/ u r/ s I2 ]$ g7 s: J

3 c* \% L" V0 T; ?% f2、问题解决办法。
" E- i  s. P" P g) E3 |6 H% }! D
当你试图修复一个被破坏的表的问题时,有三种修复类型。如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的。6 y# A# [$ T% F6 h
这三种修复方法如下所示:
" U2 B" A5 d$ P  c5 [% myisamchk --recover --quick /path/to/tblName' r- g3 U# C8 @* P7 L1 d( m8 U
% myisamchk --recover /path/to/tblName
" v3 u$ s6 a1 b6 o% myisamchk --safe-recover /path/to/tblName% ~8 l" @2 e  e- p- R* b$ U/ K
3 H3 ]  { x% m8 w8 X
第一种是最快的,用来修复最普通的问题;而最后一种是最慢的,用来修复一些其它方法所不能修复的问题。/ y9 b  Q/ H4 L2 Z6 X8 A! X
( |$ r7 J/ E$ X% J7 C
检查和修复MySQL数据文件. l! |. i3 ]% @9 f9 N
如果上面的方法无法修复一个被损坏的表,在你放弃之前,你还可以试试下面这两个技巧:  q3 Z" Z  l; H% S3 s9 N# O* `

& k) H2 `/ A0 ^3 ~9 y- Z; W果你怀疑表的索引文件(*.MYI)发生了不可修复的错误,甚至是丢失了这个文件,你可以使用数据文件(*.MYD)和数据格式文件(*.frm)重新生
% _2 ]3 D8 f: R! X W) @' P! E9 {成它。首先制作一个数据文件(tblName.MYD)的拷贝。重启你的MySQL服务并连接到这个服务上,使用下面的命令删除表的内容:
: j# L( _8 q* |4 Q6 Zmysql> DELETE FROM tblName;8 f) h& M$ ]) p' p# F& I- r

1 ~- _! Q! t- |" i. W& C% m0 U删除表的内容的同时,会建立一个新的索引文件。退出登录并重新关闭服务,然后用你刚才保存的数据文件(tblName.MYD)覆盖新的(空)数据文件。5 ]. z$ c' C. Y0 e0 U
最后,使用myisamchk执行标准的修复(上面的第二种方法),根据表的数据的内容和表的格式文件重新生成索引数据。
4 \% f, ?3 K5 J& ]: m t: a2 k/ L- P# a
如果你的表的; T! L8 b$ P" p# \! e0 L
格式文件(tblName.frm)丢失了或者是发生了不可修复的错误,但是你清楚如何使用相应的CREATE
& t/ s9 m' N5 y" T* y8 _$ ^TABLE语句来重新生成这张表,你可以重新生成一个新的.frm文件并和你的数据文件和索引文件(如果索引文件有问题,使用上面的方法重建一个新的)一7 C- {" r6 }1 g: s4 E8 C
起使用。首先制作一个数据和索引文件的拷贝,然后删除原来的文件(删除数据目录下有关这个表的所有记录)。( d% Z1 X: u8 j0 a8 f
0 w- h; s7 L3 e
启动MySQL服务并使用当初的CREATE TABLE文件建立一个新的表。新的.frm文件应该可以正常工作了,但是最好你还是执行一下标准的修复(上面的第二种方法)。

" B. d' p) Q8 d- R& z% u O" W! k w, E- k0 y
6 q! t1 S7 f! T: F: h( r

        为了不冒失修复,故采取保守做法,我们知道 MySQL 一个高效的管理工具便是 PhpMyAdmin,而在该管理软件中就包含了对表的检查、分析、修复、优化功能,比起网上提供的含糊命令行来说更安全更简便。

MySQL快速解决"is marked as crashed and should be repaired"故障

MySQL快速解决"is marked as crashed and should be repaired"故障 . E2 e  F4 u2 @; H" F) x% `. S% l. U# K1 H

       通过实践,在使用检查表功能后确实发现了问题,之后使用修复功能进行了修复,反馈结果每个表都已经 ok,再执行一次优化,重新测试访问网站终于恢复了正常。一场灾难就此避免……

` Q% @" Z. T. G9 v

( E, g% f4 D4 p0 C

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告

兔源码网 (公网安备36112102000036号 赣ICP备17001544号)

兔源码 QQ交流群:493651246  GMT+8, 2020-5-31 13:23
←站长统计工具 查看密码:tuyuanma

兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386 网站地图

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

     
快速回复 返回顶部 返回列表