MYSQL is marked as crashed and should be repaired解决办法

问题分析

错误产生原因,有网友说是频繁查询和更新[数据表]表造成的索引错误,因为我的页面没有静态生成,而是动态页面,因此比较同意这种说法。还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。

解决办法

修复如下在你的mysql/bin下面找到myisamchk

在命令行中输入:

 代码如下 复制代码
myisamchk -c -r d:mysqldataabc.MYI

即可:)

国外参考

myisamchk
/etc/init.d/mysql stopDann kann man sich mit dem Brachial-Tool ans Werk machen:

hist-web:/var/lib/mysql/wsu# myisamchk smt_stats.MYI
Checking MyISAM file: smt_stats.MYI
Data records:  139144   Deleted blocks:       0
myisamchk: warning: Table is marked as crashed
- check file-size
myisamchk: error: Size of datafile is: 10473472          Should be: 10473480
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
myisamchk: error: Found 139145 keys of 139144
- check record links
myisamchk: error: Recordlink that points outside datafile at 10473420
MyISAM-table 'smt_stats.MYI' is corrupted
Fix it using switch "-r" or "-o"Ich tat, wie mir befohlen wurde:

hist-web:/var/lib/mysql/wsu# myisamchk -r smt_stats.MYI
- recovering (with sort) MyISAM-table 'smt_stats.MYI'
Data records: 139144
- Fixing index 1
Found block that points outside data file at 10473420Zur Sicherheit überprüfte ich die Tabelle erneut:

hist-web:/var/lib/mysql/wsu# myisamchk smt_stats.MYI
Checking MyISAM file: smt_stats.MYI
Data records:  139144   Deleted blocks:       0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record linksDa alles wieder rosig aussah, konnte man MySQL wieder hochfahren:

/etc/init.d/mysql start

时间: 2024-08-02 20:00:39

MYSQL is marked as crashed and should be repaired解决办法的相关文章

is marked as crashed and last (automatic?) repair解决办法

修复数据表操 MYSQL数据表出现问题,提示: Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed 修复数据表操作: 1.service mysqld stop; 2.cd /var/lib/mysql/db_name/ 3.myisamchk -r tablename.MYI (修复单张数据表) myisamchk -r *.MYI (修复所有数据表) 注意:操

Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考_Mysql

也可能其中任意方法都可以适用于本数据库.我暂时没有条件测试,有条件的去测试一下,有望解决数据库报此错误的问题. 预防措施: 1.一定要备份一次数据库,起码保留了表结构,有些可有可无的数据,可以直接覆盖. 2.重要的数据要经常注意备份,一般一个月左右备份一次. 3.出现此类错误,一般能够解决,经jb51.net测试下面的方法是比较可行的.但偶尔会有数据丢失的情况,强烈建议先备份. 复制代码 代码如下: 解决办法:首先需要定位到你的mysql的bin目录,里面包含myisamchk.exe文件的目录

mysql提示:Table ‘xxx’ is marked as crashed and should be repaired

在我遇到的一台lamp服务器突然宕机后,打开网站出现: Table 'xxx' is marked as crashed and should be repaired 可以直接用mysql命令myisamchk 进行修复: Mysql提示tblName表格已损坏,需要修复,解决方法: 进入到对应的数据库目录:  代码如下 复制代码 cd /var/lib/mysql/dbname 使用myisamchk修复:  代码如下 复制代码 shell> myisamchk -r tableName db

解决mysql Table ‘xxx’ is marked as crashed and should be repaired的问题。

解决mysql Table 'xxx' is marked as crashed and should be repaired的问题. 某个表在进行数据插入和更新时突然出现Table 'xxx' is marked as crashed and should be repaired这个异常,随后整个表无法查询,表数据全部丢失. 解决办法: 切换至mysql bin目录 ./myisamchk -c -r 数据库表MYI文件的路径 例如:./myisamchk -c -r /home/mysql/

MySQL从MyISAM转换成InnoDB错误与常用解决办法_Mysql

原来自己用的是为了装的, 所以在设置database usage(如下图1)的时候按照discuz官方的建议,选的都是Non-Transactional Database Only(只支持MyISAM数据引擎的非事务数据库),用MyISAM数据库,还没涉及到需要InnoDB,因此打算直接不加载INNODB引擎.后来在做WordPress,一开始还不知道原来WordPress用的是InnoDB数据引擎,于是在原来的数据库里面就建了一个数据库,一开始也没发觉问题,安装,导入sql,都没问题,当时也没

解析在MySQL里创建外键时ERROR 1005的解决办法_Mysql

在MySQL里创建外键时,提示错误,但只提示很简单的信息:ERROR 1005 (HY000): Can't create table 'db_qxztc.qx_userssssnew' (errno: 150).根本起不到解决问题的作用. 要看错误的详细提示,可以使用命令:(在MySQL Manual里搜索"errno 150"时找到) SHOW ENGINE INNODB STATUS;     //针对用INNODB存储方式的数据库 在信息中有一组[LATEST FOREIGN

MySQL数据库启动失败1067进程意外终止的解决办法总结

问题现象: 前天对MYSQL数据库进行迁移操作,B机(新机子)的MYSQL和A机的版本不同,为方便B机安装好MYSQL直接COPY了A机的DATA目录 启动MYSQL,"MYSQL 1067 进程意外终止"错误,以前遇到过此错误,惯性地去按上次的方法尝试解决,结果问题依旧,于是google,搜索了许久...无果 最后查看系统应用程序日志:找到最近的MYSQL报错,都是E文: Error message file 'D:\system\MySQL\MySQL Server 5.0\sha

mysql中RAND()随便查询记录效率问题和解决办法分享_Mysql

最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 有两个方法可以达成以上效果. 1.新建一个表,里面存着 -5 至 5 之间的数.再利用order by rand()得到随机数. #建立指定范围数据表 复制代码 代码如下: #auther: 小强(占卜师) #date: 2008-03-31 create table r

mysql中RAND()随便查询记录效率问题和解决办法

最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 有两个方法可以达成以上效果. 1.新建一个表,里面存着 -5 至 5 之间的数.再利用order by rand()得到随机数. #建立指定范围数据表  代码如下 复制代码 #auther: 小强(占卜师) #date: 2008-03-31 create table r