【问题标题】:Database Error "One or more database tables are unavailable" on Wordpress siteWordpress 网站上的数据库错误“一个或多个数据库表不可用”
【发布时间】:2020-12-19 06:39:22
【问题描述】:

错误: One or more database tables are unavailable. The database may need to be repaired.

我该如何解决这个问题?

wp-config.php 是正确的。

【问题讨论】:

    标签: wordpress wordpress-theming custom-wordpress-pages wordpress-rest-api wordpress-shortcode


    【解决方案1】:

    我通过添加解决了:

    define('WP_ALLOW_REPAIR', true);
    

    【讨论】:

      【解决方案2】:

      要解决此错误,您必须添加

      define('WP_ALLOW_REPAIR', true);
      

      在你的 wp-config.php 文件中的上面一行。

      如果此方法不起作用,则必须检查是否有数据库备份,然后创建一个新数据库和一个新用户,然后在新数据库中导入备份的数据库 SQL 文件。 然后将数据库凭据替换为 wp-config.php 文件中的旧凭据。

      这个方法对你有帮助。

      【讨论】:

        【解决方案3】:

        我使用 windows、xampp 7.1,我每个月都会收到这个 wordpress 数据库损坏。 WP_ALLOW_REPAIR 什么都不做, wp repair 只是显示一切正常。调试日志中没有任何内容。

        无论如何,当我去 phpmyadmin 时,我注意到 wp_options 表无法打开,并且 phpmyadmin 建议修复它。

        我用sql命令修复了表-

        repair table newdb28.wp_options use_frm;
        

        use_frm 告诉 db 忽略索引并仅通过数据重新创建 db。

        我可以单击并查看 wp_options 中的数据,但 wordpress 仍然无法正常工作..

        我去xampp到xampp7.1\mysql\bin\mysqlcheck在命令行(命令行以管理员身份运行)并运行命令来修复我数据库中的所有表

        mysqlcheck dbname -uroot --auto-repair --use-frm
        

        这检查了所有表都OK,但是你可以猜到 wp 仍然没有工作。

        解决方案:我去了 wp_options 表,按 id 排序,发现最低 id 是 7。然后检查了我的另一个 wp 项目,发现这里的行以 id 3 开头,并且 7+ 的键与我损坏的数据库相同..所以我导出了那些 id 3-6 行并将它们导入到其他表中,一切都奇迹般地工作了......(wp_options 中那些缺失的行是nobrainer 复制粘贴的东西,但第一个是我相应设置的'siteurl',如果你拥有相同项目的旧版本或开发版本会更容易)。

        还检查了我一个月前损坏的数据库,由于某种原因我没有删除它,它也有同样的问题,缺少 wp_options 表中的前 5 行...

        无论如何,如果这对将来的任何人有帮助值得大惊小怪:)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多