故障怎么解决

郑州是哪个省2022-07-13  14

具体错误如下:

表'。“\Tablename\posts”被标记为已崩溃,应该修复

建议将论坛的帖子表帖子标记为有问题,需要修复。我记得以前也发生过类似的问题,但是在Phpmyadmin上点击修复按钮就自动修复了,不过这次绝对没事,我赶紧上网找原因。最终会解决问题。解决方法如下:

找到mysql安装目录的bin/myisamchk工具,输入:

myisamchk -c -r../data/tablename/post。MYI

然后myisamchk工具会帮你恢复数据表的索引。好像不用重启mysql问题就解决了。

问题分析:

1。错误的原因。有网友表示,索引错误是由于频繁查询更新dede_archives表造成的。因为我的页面不是静态生成的,是动态页面,所以我同意这个说法。

总之就是因为一些不可预知的问题,表损坏了。

2。问题的解决方案。

当您试图修复损坏的桌子时,有三种类型的修复方法。如果您收到无法创建临时文件的错误消息,请删除消息中指示的文件,然后重试-这通常是上次修复操作留下的。

这三个修复如下:

% myisamchk-recover-quick/path/to/TBL name

% myisamchk-recover/path/to/TBL name

% myisamchk-safe-recover/path/to/TBL name

第一种最快,用于修复最常见的问题;而最后一种是最慢的,用来修复一些其他方法无法修复的问题。

检查并修复MySQL数据文件

如果上面的方法不能修复一个损坏的表,在你放弃之前,你还可以试试下面两个招数:

如果您怀疑索引文件(*。MYI)的表犯了一个不可修复的错误甚至丢失了这个文件,你可以使用数据文件(*。MYD)和数据格式文件(*。frm)来重新生成它
。首先复制数据文件(tblName。MYD)。重新启动MySQL服务并连接到该服务,使用以下命令删除表中的内容:

MySQL gt;从tblName中删除;

在删除表的内容时,将建立一个新的索引文件。注销并再次关闭服务,然后用刚刚保存的数据文件(tblName)覆盖新的(空)数据文件。MYD)。

最后用myisamchk进行标准修复(上面第二种方法),根据表格的数据内容和表格的格式文件重新生成索引数据。

如果您的表的格式化文件(tblName.frm)丢失或出现不可修复的错误,但您知道如何使用相应的CREATE
TABLE语句来重新生成此表,您可以重新生成一个新的。frm文件,并用你的数据文件和索引文件重建一个新的(如果索引文件有问题,用上面的方法。

。首先,复制数据和索引文件,然后删除原始文件(删除数据目录中关于该表的所有记录)。

启动MySQL服务,使用原来的CREATE TABLE文件创建一个新表。新的。frm文件应该可以正常工作,但是你最好执行标准修复(上面的第二种方法)。

为了不贸然修复,我们采取保守的方法。我们知道MySQL的一个高效的管理工具是PhpMyAdmin,管理软件包含了查表、分析、修复、优化表的功能,比网上提供的模糊命令行更安全简单。

image

一场灾难就这样避免了...

转载请注明原文地址:https://juke.outofmemory.cn/read/712529.html

最新回复(0)