WP CLI утверждает, что БД нуждается в ремонте, но сам WP работает

Я использую 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

Я думаю, что я попытаюсь экспортировать/повторно импортировать всю схему


person Adam    schedule 29.06.2020    source источник
comment
Вы проверили журнал ошибок mariadb   -  person nbk    schedule 29.06.2020
comment
Звучит как ошибка WP-CLI для меня. Вы проверяли проблемы с WP-CLI?   -  person WhereDidMyBrainGo    schedule 30.06.2020
comment
@nbk: Хороший вопрос. Должен был подумать об этом. Интересно, что когда я запускаю команду mysqlcheck, возникают ошибки, несмотря на то, что она сообщает, что рассматриваемые таблицы в порядке! Ничего не приходит туда, когда я запускаю wp-cli. Обновлю вопрос с подробностями   -  person Adam    schedule 30.06.2020


Ответы (1)


Похоже, в БД каким-то образом оказалась смесь таблиц utf8 и utf8mb4. Не знаю как. Я бы предположил, что это могут быть те, которые были созданы до и после обновления версии MariaDb, но не уверен, что это правда. В любом случае, мы решили экспортировать всю схему, исправить параметры сортировки в файле дампа и повторно импортировать.

Если есть ошибка, я бы сказал, что она в команде mysqlcheck, которая сообщила, что все в порядке, даже если она вызывала ошибки в mariadb.log об искажении записей.

person Adam    schedule 30.06.2020