我在部署/升级脚本中使用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
命令时,我收到一些错误,例如:
[错误] InnoDB:索引记录在
option_name
表myschema
.wp_options
我想我会尝试导出/重新导入整个架构
似乎数据库以某种方式混合了utf8和utf8mb4表。 不知道怎么做。 我推测可能是在 MariaDb 版本升级之前和之后创建的那些,但不确定这是真的。 无论如何,我们通过导出整个架构、修复转储文件中的排序规则并重新导入来解决。
如果有错误,我会说它在mysqlcheck
命令中,即使它在 mariadb 中触发了关于记录格式错误的错误.log它也报告一切正常。