如何修复MySQL中标记为错误或损坏的表

一年多以来,我们使用了适用于WordPress的Counterizer插件,从而保持了博客及其读者的统计信息,几天前我们停用了该插件,因为(除其他外)它在数据库中保存了600MB以上的数据。

碰巧的是(在停用插件并清理数据库之前),我试图转储数据库,即将其导出到.SQL并进行下载,然后在托管终端中出现以下错误:

mysqldump:得到错误:144:使用锁定表时,表'./dl_database/Counterize_Referers'被标记为崩溃,并且上次(自动)修复失败

因此,转储并没有进行得很好......光是认为DesdeLinux DB有问题的想法就让我毛骨悚然

通过在Web上进行一些研究,我能够学习如何解决此问题,显然不是数据库确实有问题,只是表被标记为“有问题”,幸运的是,此问题很容易解决。

首先,让我们访问MySQL服务器:

mysql -u root -p

我们按[Enter],它将询问我们MySQL的root密码,我们将其放置并再次按[Enter]。

如果MySQL服务器安装在同一台计算机上,则使用此命令,如果要远程连接到另一台MySQL服务器,则必须在该行中添加以下内容: -h服务器IP

进入MySQL后,我们将告诉您要使用哪个数据库,例如,根据上面的错误,问题在表中 Counterize_Referers 从数据库中  dl_数据库, 以便:

use database dl_database;

现在修复表基:

repair table Counterize_Referers;

请注意,在这些行的末尾有一个分号-»  ;

一旦执行了上一个命令,一切都应该恢复正常,至少在我的情况下,它已经不止一次是这样了 

然后,仅需重新执行转储数据库和指令的指令,仅此而已。

不管怎样,我这样做更多的是作为给自己的一个备忘录,因为同样的事情已经发生在我身上两次了,我不想忘记拯救世界的指示 

问候,希望对其他人有帮助。


添加为首选来源