Mysql 表标记为已崩溃,应进行维修

Mysql 表标记为已崩溃,应进行维修,mysql,database,wordpress,Mysql,Database,Wordpress,我在wordpress phpMyadmin中得到这个错误 #145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 当我登录到phpMyadmin时,它说wp_帖子“正在使用” 我的网站目前因此关闭 我用谷歌搜索了这个问题,但在phpMyadmin上没有看到“修复”按钮。请让我知道如何解决这个问题。我不确定在哪里发出PHP命令。请注意,我对PHP的熟练程度非常基础。这里是修复按钮的位置: 从服

我在wordpress phpMyadmin中得到这个错误

#145 - Table './DB_NAME/wp_posts' is marked as crashed and should be repaired 
当我登录到phpMyadmin时,它说wp_帖子“正在使用”

我的网站目前因此关闭


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

这里是修复按钮的位置:


从服务器的命令行运行此命令:

 mysqlcheck --repair --all-databases

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

myisamchk -r /DB_NAME/wp_posts

从命令行。运行修复时,应暂时关闭网站,以便在修复数据库时不会尝试与数据库建立新连接。

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

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

REPAIR TABLE`;
当我遇到此错误时,用于修复单个表:

#145-表“.\engine\phpbb3_posts”标记为崩溃,应进行修复

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

REPAIR TABLE phpbb3_posts;

通过SSH连接到服务器

然后连接到mysql控制台

-或- 如果当前数据库中有大量断开的表:

mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base
如果在许多数据库中有许多损坏的表:

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

以下是简单的步骤。

转到phpmyadmin并检查被压碎的表,然后选择修复表选项


我向上面的评论询问了这一点,但我认为他已退出,所以再次向您询问。“非常感谢,我的网站又重新上线了。不过,有一个问题是,由于数据库已损坏,我再次修复了它,我是否应该担心什么?我是否应该调查这是否导致了任何其他问题?或者这应该解决所有问题?”你不应该担心任何问题。数据库修复后,您的站点将再次工作。它可能会在某个时候再次损坏,如果发生这种情况,请重新修复它。此外,还要定期进行备份,这样可以避免出现“拒绝访问”错误,您可能需要将用户名和密码添加到此命令中
mysqlcheck-uroot-p——修复——所有数据库
并提供密码;在phpMyAdmin SQL控制台中发出修复表命令(如上所述),并将其修复。谢天谢地!!干杯不要将密码放在命令行中,密码将以不安全的方式和位置保存在历史记录中。mysql命令允许您单独传递参数
-p
,然后询问您的密码。
mysqlcheck -uUSER -pPASSWORD  --repair --extended user_base
mysqlcheck -uUSER -pPASSWORD  --repair --extended -A