Сайт застрял в цикле "Требуется обновление базы данных"

16 июн. 2011 г., 09:21:18
Просмотры: 26.2K
Голосов: 11

Я только что обновился до версии 3.1.3, и теперь при входе в админ-панель я получаю экран "Требуется обновление базы данных" /wp-admin/upgrade.php. Я нажимаю 'Обновить сейчас', и система сообщает, что обновление завершено, но при попытке доступа к любому разделу админки я снова получаю тот же экран. Как мне решить эту проблему?

РЕДАКТИРОВАНИЕ: Пытаясь использовать решение toscho, я обнаружил, что таблицы базы данных WordPress недоступны для записи, что, вероятно, и привело к циклу ошибок. Есть ли идеи, как это отследить и исправить?

0
Все ответы на вопрос 7
7

У меня недавно была такая же проблема. По какой-то причине опция db_upgraded не устанавливается в процессе обновления.

Решение

  1. Перейдите по адресу /wp-admin/options.php.
  2. Заполните поле db_upgraded значением 0 (ноль).
  3. Нажмите Сохранить изменения.

Готово.

16 июн. 2011 г. 11:30:32
Комментарии

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

John Sheehan John Sheehan
5 июл. 2011 г. 08:50:34

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

John Sheehan John Sheehan
5 июл. 2011 г. 08:53:54

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

fuxia fuxia
5 июл. 2011 г. 08:57:31

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

John Sheehan John Sheehan
5 июл. 2011 г. 09:02:36

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

hitautodestruct hitautodestruct
2 июн. 2019 г. 10:25:41

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

Malcolm Salvador Malcolm Salvador
18 мар. 2020 г. 21:52:36

@MalcolmSalvadorЯ не знаю. Возможно, вам нужно сделать это в инструменте управления базами данных.

fuxia fuxia
18 мар. 2020 г. 22:29:53
Показать остальные 2 комментариев
0

Если вы не отключили все плагины перед обновлением, сделайте это вручную, переименовав директорию 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 вы обновляетесь?

16 июн. 2011 г. 11:03:15
1

Обнаружил, что файлы базы данных, которые я скопировал с другой машины, имели неправильные права владельца. После выполнения команды chown -R mysql:mysql myblogdbdirectory и перезапуска MySQL обновление базы данных заработало.

5 июл. 2011 г. 09:15:22
Комментарии

Мне также пришлось очистить кеш, чтобы получить доступ к wp-admin.

Aurovrata Aurovrata
12 июн. 2022 г. 20:18:52
0

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

29 окт. 2011 г. 21:19:13
0

У меня была такая же проблема, и я обнаружил, что на устройстве закончилось свободное место. База данных не могла сохранять данные, поэтому не могла обновляться. Некоторым пользователям стоит это проверить.

25 сент. 2013 г. 00:31:37
0

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

Либо исправьте права пользователя вашего SQL-пользователя, либо используйте root, если у вас есть доступ к этому пользователю SQL.

31 июл. 2015 г. 15:23:21
0

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

10 нояб. 2016 г. 15:13:37