【问题标题】:Table is marked as crashed and should be repaired表被标记为崩溃,应该修复
【发布时间】:2011-05-20 10:14:45
【问题描述】:

我在 wordpress phpMyadmin 中收到此错误

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

当我登录到 phpMyadmin 时,它说 wp_posts 正在“使用中”

因此,我的网站目前已关闭。

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

【问题讨论】:

    标签: mysql database wordpress


    【解决方案1】:

    这里是修复按钮的位置:

    【讨论】:

      【解决方案2】:

      从服务器的命令行运行:

       mysqlcheck --repair --all-databases
      

      【讨论】:

      • 为避免“访问被拒绝”错误,您可能必须在此命令中添加用户名和密码。 mysqlcheck -uroot -p --repair --all-databases 并提供密码。
      【解决方案3】:

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

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

      REPAIR TABLE `<table name>`;
      

      用于修复单个表

      【讨论】:

      • 有帮助,我在使用 Drupal v7.6x UC 表时遇到了这个问题,突然出现了;在 phpMyAdmin SQL 控制台中发出上述 REPAIR TABLE 命令并修复它。感谢上帝的stackoverflow!干杯!
      • 或者报错“表的存储引擎不支持修复”
      【解决方案4】:

      通过 SSH 连接到您的服务器

      然后连接到你的 mysql 控制台

      USE user_base
      REPAIR TABLE TABLE;
      

      -或-

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

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

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

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

      【讨论】:

      • 不要将密码放在命令行中,然后它们会以不安全的方式和位置保存在历史记录中。 mysql 命令让你单独传递参数-p,然后会询问你的密码。
      【解决方案5】:

      当我收到此错误时:

      #145 - 表 '.\engine\phpbb3_posts' 被标记为崩溃,应该修复

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

      REPAIR TABLE phpbb3_posts;
      

      【讨论】:

        【解决方案6】:

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

        myisamchk -r /DB_NAME/wp_posts
        

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

        【讨论】:

        • 我在上面的评论中问过这个问题,但我认为他已退出,所以再次问你。 “非常感谢,我的网站又重新上线了。不过有一个问题,由于数据库已损坏,我又对其进行了修复,我应该担心什么吗?我应该调查一下这是否导致其他任何问题?或者这应该小心一切?”
        • 你不应该担心任何事情。修复数据库后,您的站点将再次运行。它可能会在某个时候再次损坏,它发生了,只需再次修复它。也定期做备份,你会没事的
        【解决方案7】:

        这是简单的步骤。

        转到 phpmyadmin 并检查那个表被压碎了,然后选择修复表选项。

        【讨论】:

          【解决方案8】:

          我的开发服务器上的常规日志存在问题。我能够在 mysql cli 中运行以下命令来解决此问题。

          truncate table general_log;
          

          注意,这会删除表格的所有内容。

          【讨论】:

          • 解决办法是不要清表。就是“修复”。抱歉,如果是在没有其他选项的情况下删除所有数据,这不是一个好的解决方案。
          猜你喜欢
          • 2015-09-17
          • 2020-02-11
          • 1970-01-01
          • 2013-05-30
          • 2019-12-30
          • 2012-08-05
          • 2023-01-23
          相关资源
          最近更新 更多