首页 > 解决方案 > Wordpress 网站上的数据库错误“一个或多个数据库表不可用”

问题描述

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

我怎么解决这个问题?

wp-config.php 是正确的。

标签: wordpresswordpress-themingcustom-wordpress-pageswordpress-rest-apiwordpress-shortcode

解决方案


我使用 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

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

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

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

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


推荐阅读