表xxx被标记为崩溃,应该修复错误。
预防措施:
1,必须备份数据库,至少保留表结构,一些不能提供的数据可以直接覆盖。
2、重要数据要经常注意备份,通常备份一个月左右。
3、这种错误的发生,一般是可以解决的,下面的方法比较可行。
复制代码代码如下所示:
解决方案:首先,你需要确定你的MySQL的bin目录,其中包含了myisamchk.exe文件目录。
The path of the./myisamchk -c -r database table MYI file (for example: /home/mysql/var/crawlerfeedsky/aaaa.MYI)
如果没有,f强制修理
windows服务器下的MySQL修复方法:
F: sqldata MySQL仓> CD。返回上级目录
F: sqldata MySQL >光盘数据进入目录数据库位于(的MySQL数据库文件放置在数据目录)
F: sqldata MySQL数据> CD jb51进入数据库,并在Windows Server数据库文件夹(这里的jb51为例)
F: sqldata MySQL数据 jb51 > myisamchk -r jb51_soft
回收(排序)myisam-table'jb51_soft
数据记录:7216
1 -固定指数
2 -固定指数
3 -固定指数
F: sqldata MySQL数据 jb51 >
jb51_soft是数据库表的名字,这表明该表是错误的,这表修。
为了未来的方便,我们可以编写一个批处理,并保存该文件为fixit.bat在目录数据库位于。
复制代码代码如下所示:
myisamchk -r jb51_soft
下面是各种在线采集的方法,可以测试一下。
(我)
昨晚浏览我的博客时,突然发现所有的页面都无法显示。当我回顾背景时,我发现表xxx的错误被标记为崩溃并应该修复。
1。为管理MySQL phpMyAdmin
2。在左边选择自己的数据库
三.在右边,检查错误消息中the'xxx'table
4。滚动屏幕到底部,有一个下拉菜单(选择:),选择修复表
修改后,没有发现数据丢失,数据库很快备份到邮件中,备份非常重要。
(二)
现象:
MySQL的使用yourealcn >
数据库的改变
MySQL >选择用户,从biz_user在赞扬=的描述'1'order公司注册时间
错误145(hy000):表。 / / biz_user'is yourealcn标记为坠毁,必须修复
MySQL >退出
使用命令myisamchk修复数据库的MYI文件
/ usr / / /当地mysql5 bin / myisamchk - C - R / / / MySQL库李明博 / / * # yourealcn biz_user。
Myisamchk:错误: / / / MySQL库李明博 / / biz_user yourealcn frm'is不是MyISAM表。
—
Myisamchk:错误: / / / MySQL库李明博 / / biz_user yourealcn myd'is不是MyISAM表。
—
回收(排序)MyISAM表' / / / MySQL库李明博 / / biz_user yourealcn我。
数据记录:20414
1 -固定指数
2 -固定指数
3 -固定指数
4 -固定指数
(三)
致:难道是表的表名标记为坠毁,必须修复
uff1a结算条款
的路径。 / myisamchk - C - R的数据库表MYI文件(例如: / / /无功家MySQL / crawlerfeedsky / AAAA。我)
如果没有,f强制修理
(四)
今天,看到一个网页服务器错误,无法连接到数据库server.mysql服务本身掉了下来,然后重新启动服务器,发现网页无法打开,提示:{ } tblname MySQL表标记为坠毁,应该要。
MySQL暗示tblname表损坏,需要修理,及解决方案:
输入相应的数据库目录:
CD /无功/ lib / MySQL /北京
用myisamchk修复:
壳> myisamchk -r tblname
(五)
我用修复命令:myisamchk -r bbsthreads
其中,bbsthreads是我问题的名字。当然,使用此命令输入您发布的MySQL数据库表的存储路径。更详细的命令可以帮助:myisamchk --help;
如果你不能用上面的命令解决问题,请看后面。后面的内容是我转载的。
我的网站有问题,访问一下,确认全屏错误,检查MySQL日志,错误信息是:
表。 dnzsw04_archives'is dedecmsv4标记为坠毁,必须修复
这表明CMS的文章表dnzsw04_archives上标有问题需要修理,所以我们很快恢复历史数据和互联网搜索的原因。最后,问题就解决了。解决方法如下:
bin / myisamchk工具发现MySQL的安装目录中输入命令行:
myisamchk - C - R。 / / / dnzsw04_archives.myi dedecmsv4数据
然后myisamchk工具会帮助你恢复数据表的索引。重启MySQL和解决问题。
问题分析:
1,错误的原因。有网友说,他们经常查询和更新的dnzsw04_archives表引起的索引错误,因为我的页面不是静态生成的,而是动态的页面,所以我同意这种说法。有损坏的,因为某些原因,MySQL数据库的参数如:数据库服务器突然断电,在原始文件的一些操作提供在表的数据库表的服务可能会导致MySQL数据库表损坏而无法读取数据。一句话,那是因为一些不可测的问题,造成表的损坏。
问题的数量是145。
2。解决问题的办法。
当您尝试修复一个坏表的问题时,有三种类型的修复。如果您收到错误消息,指出临时文件无法设置,删除信息指出的文件,然后再试一次——这通常是最后一次修复操作。
三种修复方法如下:
myisamchk --恢复--快速 / / /路径tblname %
% myisamchk -恢复 / / / tblname路径
% myisamchk --安全恢复 / / / tblname路径
第一个是最快的,用于修复最常见的问题;最后一个是最慢的,用于修复其他方法无法修复的问题。
检查并修复MySQL数据文件
如果上述方法不能修复损坏的表,在您放弃之前,您也可以尝试以下两种技术:
如果你怀疑表的索引文件(*.我)有一个未修复的错误或丢失的文件,你可以使用数据文件(*. MYD)和数据格式文件(*. FRM)再生。首先,复制数据文件(tblname。MYD)。重新启动MySQL服务并将其连接到服务,并使用下面的命令来删除该表的内容:
MySQL >删除tblname;
当表的内容删除,创建新的索引文件。退出登录并重新关闭服务,然后覆盖新的(空)与数据文件的数据文件(tblname。MYD)你刚刚救了。最后,kill -9用于执行标准(二以上方法修复)再生基于表的数据和表的格式文件内容的索引数据。
如果你看的文件格式(tblname。FRM)丢失或无法修复的错误,但是你知道如何使用CREATE TABLE语句来重建这个表,你可以重新创建一个新的.frm文件和你的数据文件和索引文件(如果使用上面的方法,一个新的重建问题中的运用索引文件)。首先,复制数据和索引文件,然后删除原文件(删除数据目录表中的所有记录)。
启动MySQL服务并使用原始创建表文件来创建一个新表。新的.frm文件应该正常工作,但它是最好的执行标准修正(第二段)。
3、myisamchk工具介绍(参见MySQL官方手册)
你可以用myisamchk实用程序来获取有关数据库表、信息核对、修正、优化。myisamchk应用MyISAM表(用于the.myi and.myd文件表)。
方法调用myisamchk:
壳> myisamchk {选项} tbl_name…
选项指定你想要myisamchk做。在后面描述他们。你也可以通过调用myisamchk得到选项列表,帮助。
tbl_name是一个数据库表,你要检查或修复。如果你不运行myisamchk数据库目录中的任何地方,你必须指定数据库目录的路径,因为myisamchk不知道你的数据库的位置。事实上,myisamchk不在乎你正在编辑的文件位于数据库目录。您可以将对应于数据库表的文件复制到其他位置,并在那里执行恢复操作。
如果你想,你可以叫几桌用myisamchk命令行。你也可以通过命名索引文件指定一个表(与the.myi后缀),它允许你通过使用模式*指定目录中的所有表。myi.for的例子,如果你在数据库目录,你可以检查所有MyISAM表的目录中以这种方式:
壳> myisamchk *。我
如果您不在数据库目录中,您可以通过指定目录路径来检查所有的表:
壳> myisamchk / / / database_dir路径 / *。我
您甚至可以通过为MySQL数据目录的路径指定通配符来检查所有数据库中的所有表:
壳> myisamchk / / / datadir路径 / / *我*。
推荐的方法来快速检查所有的MyISAM表:
壳> myisamchk --沉默--快 / / / datadir路径 / / *我*。
如果你想检查所有的MyISAM表和修复任何破表,你可以使用下面的命令:
壳> myisamchk -沉默-力-快-更新状态
O key_buffer = 64m O sort_buffer = 64m
O read_buffer = 1m - O write_buffer = 1m
/ / / datadir路径 / / *我*。
这个命令假设你有空闲内存大于64MB,在记忆与myisamchk配置的详细信息,参见5.9.5.5部分,myisamchk内存使用。
当你运行myisamchk,你必须确保其他程序不使用表。否则,当你运行myisamchk,下面的错误信息将被显示:
警告:客户正在使用或没有正确关闭表。
这意味着你要查询的表,被另一个程序没有关闭文件或没有关闭文件正确更新,如mysqld服务器。
如果mysqld正在运行,你必须强迫排空通过冲洗表修改内存中的任何表。当你运行myisamchk,你必须确保其他程序不使用表。为了避免这个问题,最简单的方法是用查表代替myisamchk检查表。