我在wordpress phpMyadmin中得到这个错误

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 

当我登录到phpMyadmin,它说wp_posts是“在使用”

我的网站目前因为这个原因宕机了。

我谷歌了这个问题,但我没有看到phpMyadmin上的“修复”按钮。请让我知道如何解决这个问题。我不确定在哪里发出PHP命令。请告知,我对PHP的熟练程度是非常基础的。


当前回答

当我得到这个错误:

#145 -表'。\engine\phpbb3_posts'被标记为已坠毁,应该修复

我在PhpMyAdmin中运行这个命令来修复它:

REPAIR TABLE phpbb3_posts;

其他回答

这意味着你的MySQL表损坏了,你需要修复它。使用

myisamchk -r /DB_NAME/wp_posts

从命令行。当您运行修复时,您应该暂时关闭您的网站,以便在修复期间没有新的连接尝试到您的数据库。

我同意@Nican的观点 您可以按照给定的步骤进行操作。有时候是有用的。在我的经历中,我多次遇到同样的错误。要在MySQL数据库中找到损坏的表并不容易。磁盘空间不足可能是导致此错误的主要原因。

可以使用命令修复损坏或崩溃的MySQL表。

# myisamchk -r <table name>

注:r为恢复模式

如果它不工作,你可以去一个困难的维修。

步骤1 -将数据库转移到安全的位置。 步骤2-创建一个新的空数据和索引文件。 步骤3-将旧数据文件复制回新创建的数据文件

注意:您必须维护主备份副本,以便在出现错误时进行恢复。

如果这两种解决方案都不适合你,我强烈建议你对MySQL进行修复。这是我在逆境中最好的朋友。它可以多次保存我的数据

从服务器的命令行运行:

 mysqlcheck --repair --all-databases

当服务器的可用磁盘空间为0时,我也遇到了同样的问题

你可以使用命令(mysql文件必须有足够的空间)

REPAIR TABLE `<table name>`;

用于修理单独的桌子

通过SSH连接到服务器

然后连接到mysql控制台

and

USE user_base
REPAIR TABLE TABLE;

-OR-

如果当前数据库中有很多破碎表:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base

如果在很多数据库中有很多坏表:

mysqlcheck -uUSER -pPASSWORD  --repair --extended -A