1

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

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

所以我跑去mysqlcheck --all-databases --check --extended查看数据库错误是什么,但它报告所有表都正常!

此外,该站点本身似乎可以正常工作(可以登录管理员、查看页面等),因此一方面感觉这是一个 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命令时,会出现一些错误,例如:

option_name[错误] InnoDB:表中的索引记录顺序错误myschemawp_options

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

4

1 回答 1

0

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

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

于 2020-06-30T13:19:50.767 回答