Сайт застрял в цикле "Требуется обновление базы данных"
Я только что обновился до версии 3.1.3, и теперь при входе в админ-панель я получаю экран "Требуется обновление базы данных" /wp-admin/upgrade.php
. Я нажимаю 'Обновить сейчас', и система сообщает, что обновление завершено, но при попытке доступа к любому разделу админки я снова получаю тот же экран. Как мне решить эту проблему?
РЕДАКТИРОВАНИЕ: Пытаясь использовать решение toscho, я обнаружил, что таблицы базы данных WordPress недоступны для записи, что, вероятно, и привело к циклу ошибок. Есть ли идеи, как это отследить и исправить?

Где в итоге хранится эта настройка? Я не могу получить доступ к /wp-admin/options.php без авторизации, что и вызывает сообщение об ошибке из моего исходного сообщения.

Нашел этот параметр в таблице wp_options, но phpMyAdmin не позволяет его редактировать, потому что таблица имеет статус 'Только для чтения' — вероятно, именно поэтому значение не было установлено и в этом корень моей проблемы.

@John Sheehan С вашей базой данных явно что-то не так. Сделайте резервную копию, затем попробуйте опцию восстановления в phpMyAdmin. Если это не поможет, сделайте таблицу доступной для записи вручную.

Да, ты прав. Думаю, я знаю, в чем проблема. Работаю над правильной настройкой прав доступа к файлам базы данных.

@fuxia Опция db_upgraded
появляется только в базе данных, но не в файле options.php.

Привет @fuxia, я не смог найти это поле в текущей установке WordPress (5.3.2). Где его можно найти?

Если вы не отключили все плагины перед обновлением, сделайте это вручную, переименовав директорию wp-content/plugins.
Очистите кэш браузера и все куки, затем попробуйте снова.
Если проблема сохраняется, откройте файл wp-includes/version.php, чтобы убедиться, что это правильный файл для версии 3.1.3.
Вы должны увидеть следующую версию базы данных:
/**
* Строка версии WordPress
*
* @global string $wp_version
*/
$wp_version = '3.1.3';
/**
* Содержит ревизию базы данных WordPress, увеличивается при изменениях в схеме БД WordPress.
*
* @global int $wp_db_version
*/
$wp_db_version = 17516;
Если всё проверено, но проблема остаётся, добавьте это в ваш файл wp-config.php:
define('WP_ALLOW_REPAIR', true);
Перейдите по адресу: yoursite.com/wp-admin/maint/repair.php, чтобы попытаться восстановить базу данных.
С какой версии WordPress вы обновляетесь?

В моем случае решением оказалась перезагрузка memcached. Мы используем плагин Memcached.

Для меня проблемой были права пользователя базы данных и самой БД. Они были слишком строгими, как только я дал пользователю ВСЕ привилегии, я смог пройти цикл.
Либо исправьте права пользователя вашего SQL-пользователя, либо используйте root, если у вас есть доступ к этому пользователю SQL.

Я решил эту проблему, используя функцию core upgrade-db
проекта WP-CLI. Она предназначена для выполнения точно такой же задачи, но с использованием командной строки вместо веб-интерфейса.
