【问题标题】:WP CLI Claims DB Needs Repairing but WP Itself WorksWP CLI 声称数据库需要修复,但 WP 本身可以工作
【发布时间】:2020-10-20 02:25:57
【问题描述】:

我在部署/升级脚本中使用 wp-cli。我目前从wp core is-installed 收到以下错误(我的脚本使用 wp cli 执行的第一个命令)

错误:一个或多个数据库表不可用。数据库可能 需要修理。

所以我运行 mysqlcheck --all-databases --check --extended 来查看 DB 错误是什么,但它报告所有表都正常!

此外,该站点本身似乎可以工作(可以登录管理员、查看页面等),因此一方面感觉这是一个 wp-cli 问题,但另一方面来自 wp 核心或数据库.

有人知道我可以从哪里开始寻找吗?除了我们经常收到的一些警告之外,apache 日志中没有任何内容。

运行 WordPress 5.4.2 和 wp-cli 2.4.0。第一次出现错误时,我们在较早更新 WP 版本后没有运行“升级”例程,但我进入管理员并单击“升级网络”。这成功了,但 cli 仍然失败。

数据库是 10.4.13-MariaDB,PHP 版本是 7.3.19。在 CentOS Linux 上运行。

检查了 mariadb.log(感谢@nbk)。运行站点或 wp-cli 命令时没有任何反应。但是,当我运行 mysqlcheck 命令时,会出现一些错误,例如:

[ERROR] InnoDB:在option_name 中的索引记录顺序错误 表myschema.wp_options

我想我会尝试导出/重新导入整个架构

【问题讨论】:

  • 你检查过mariadb的错误日志吗
  • 对我来说听起来像是一个 WP-CLI 错误。您检查过 WP-CLI 问题吗?
  • @nbk:好点。早该想到的。有趣的是,当我运行mysqlcheck 命令时出现错误——尽管它报告有问题的表是好的!当我运行 wp-cli 时什么都没有。将更新问题的详细信息

标签: mysql wordpress mariadb wp-cli mysqlcheck


【解决方案1】:

似乎数据库以某种方式混合了 utf8 和 utf8mb4 表。不知道怎么做。我推测它可能是在 MariaDb 版本升级之前和之后创建的,但不确定这是真的。无论如何,我们通过导出整个架构、修复转储文件中的排序规则并重新导入来解决。

如果有错误,我会说它在 mysqlcheck 命令中,它报告一切正常,即使它在 mariadb.log 中触发有关记录格式错误的错误。

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 2018-11-22
    • 1970-01-01
    • 2022-12-04
    • 2017-03-20
    • 2020-08-01
    • 1970-01-01
    • 2019-11-08
    • 2016-02-17
    相关资源
    最近更新 更多