我使用 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 行...
无论如何,如果这对将来的任何人有帮助值得大惊小怪:)