Skip to content

Всё для WordPress, веб-разработки — и не только

🔧 Ошибка подключения к базе данных WordPress: быстрое исправление

🔧 Ошибка подключения к базе данных WordPress: быстрое исправление

Сайт упал в белую пустоту с одинокой строкой «Error establishing a database connection». Без паники, это не взлом и не смерть базы данных. В девяти случаях из десяти проблема решается за пять минут.

На практике через эту ошибку проходит каждый владелец WordPress. Причина почти всегда банальна: неправильный пароль в wp-config.php, упавший MySQL-сервер или повреждённая таблица после неудачного обновления плагина.

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

💡 Быстрый обзор:

  • Проверьте учётные данные MySQL в файле wp-config.php, самая частая причина
  • Запустите встроенный инструмент восстановления базы через WP_ALLOW_REPAIR
  • Замените повреждённые файлы ядра WordPress свежей копией
  • Если ничего не сработало, разверните сайт из резервной копии
Ошибка подключения к базе данных на белом экране WordPress

Почему возникает ошибка подключения к базе данных

WordPress хранит весь контент, посты, страницы, настройки, пользователей, в базе данных MySQL. Когда браузер запрашивает страницу, PHP-ядро WordPress идёт к базе, получает данные и собирает HTML. Если связь между ядром и базой обрывается, вы видите белый экран с сообщением об ошибке.

Причин разрыва четыре:

  • Неверные учётные данные. Имя пользователя, пароль или хост базы в wp-config.php не совпадают с реальными. Такое случается после переезда на другой хостинг или сброса пароля MySQL.
  • База данных упала. MySQL-сервер на хостинге остановился, из-за перегрузки, технических работ или превышения лимитов.
  • Повреждённые таблицы. Плагин или тема при установке/удалении задели системные таблицы. Частая история с плагинами кеширования и оптимизации.
  • Битые файлы ядра. Незавершённая FTP-передача, сбой при автообновлении WordPress или действия вредоносного кода.

Конкретную причину выясним по порядку, от самой вероятной к наименее.

Шаг 1: Проверьте учётные данные в wp-config.php

Начните с самого простого. Файл wp-config.php лежит в корне сайта и содержит четыре ключевые строки для подключения к базе:

1define('DB_NAME', 'имя_базы');
2define('DB_USER', 'имя_пользователя');
3define('DB_PASSWORD', 'пароль');
4define('DB_HOST', 'localhost');
Файл wp-config.php с учётными данными базы данных MySQL

Откройте файл через файловый менеджер хостинга или по FTP и сверьте каждое значение с теми, что указаны в панели управления хостингом, раздел «Базы данных MySQL» или phpMyAdmin.

Обратите внимание на DB_HOST. Большинство хостингов используют localhost, но некоторые, особенно облачные и кластерные, выдают отдельный IP-адрес или домен сервера базы данных. Если недавно переезжали на другой тариф или хостинг, проверьте этот параметр в первую очередь.

Поменяли значения, сохраните файл и обновите сайт. Заработал? Отлично. Нет, идём дальше.

Шаг 2: Восстановите базу данных через WP_ALLOW_REPAIR

WordPress умеет чинить свои таблицы сам, достаточно включить встроенный инструмент восстановления. Добавьте в wp-config.php одну строку перед /* That's all, stop editing! */:

1define('WP_ALLOW_REPAIR', true);
Страница восстановления базы данных WordPress через repair.php

Теперь перейдите по адресу:

1https://ваш-сайт.com/wp-admin/maint/repair.php

Вы увидите страницу с двумя кнопками: «Repair Database» и «Repair and Optimize Database». Первая просто восстанавливает таблицы, вторая, ещё и оптимизирует их. Для быстрой починки хватит первой кнопки.

После завершения обязательно удалите строку WP_ALLOW_REPAIR из wp-config.php. Если оставить, любой, кто узнает URL repair.php, сможет запустить восстановление без авторизации.

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

Если предпочитаете видеть процесс наглядно, в видео выше показаны все шаги в реальном времени, от диагностики до восстановления.

Шаг 3: Замените повреждённые файлы ядра WordPress

Битые файлы ядра, ещё одна частая причина. Они ломаются при обрыве FTP-соединения, сбое автообновления или после действий вредоносного скрипта.

Замена повреждённых файлов ядра WordPress через FTP клиент

Алгоритм замены:

  • Скачайте свежий архив WordPress с официального сайта.
  • Распакуйте архив на компьютере.
  • Удалите из распакованной папки директорию wp-content и файл wp-config-sample.php, их заливать на сервер не нужно, иначе перезапишете свои темы, плагины и загрузки.
  • Залейте оставшиеся файлы и папки на сервер через FTP или файловый менеджер хостинга, с заменой существующих.

Ядро обновлено, а ваш контент и настройки не затронуты: всё это лежит в wp-content и базе данных, которые вы не трогали. Перед проверкой очистите кеш браузера, старые скрипты в кеше иногда маскируют успешное восстановление.

Шаг 4: Восстановите сайт из резервной копии

Если предыдущие три шага не дали результата, проблема глубже, чем кажется. Повреждены не отдельные файлы или таблицы, а сама структура базы. Единственный надёжный выход, откат к последней рабочей точке.

Как именно восстанавливать, зависит от того, чем вы делали бэкап. Мы подробно разбирали все способы в отдельной статье: как восстановить WordPress из резервной копии, через cPanel, FTP, плагин и phpMyAdmin.

Откат к бэкапу отменит последние изменения на сайте: новые посты, настройки плагинов, смену темы. Но это лучше, чем мёртвый сайт, который не открывается.

⁉️🤔 Частые вопросы

Почему ошибка появляется только иногда, а не постоянно?

Скорее всего, хостинг-провайдер ограничивает количество одновременных подключений к MySQL, и при всплеске трафика база временно недоступна. Проверьте лимиты в тарифе хостинга. На shared-хостингах проблема решается переходом на VPS.

Можно ли восстановить базу через phpMyAdmin, не трогая wp-config.php?

Да. Зайдите в phpMyAdmin через панель хостинга, выберите базу данных сайта, отметьте все таблицы и в выпадающем меню «Для отмеченных» выберите «Восстановить таблицу». Это аналог WP_ALLOW_REPAIR, но без правки кода.

Помогает ли смена темы на стандартную при ошибке подключения к базе?

Нет. Ошибка возникает на уровне связи PHP и MySQL, тема к этому отношения не имеет. Смена темы решает проблемы с отображением, но не с подключением к базе.

Что делать, если база данных повреждена необратимо?

Если WP_ALLOW_REPAIR и phpMyAdmin не справляются, обратитесь в поддержку хостинга. У большинства провайдеров есть автоматические бэкапы серверов за последние 3-7 дней. Восстановление из такого бэкапа, вопрос одного тикета.

Может ли ошибка возникнуть из-за плагина безопасности?

Да, некоторые плагины безопасности меняют префикс таблиц (wp_ на случайный) или блокируют внешние подключения к базе. Если ошибка появилась сразу после установки такого плагина, временно переименуйте его папку через FTP и проверьте сайт.

Сайт снова дышит: что запомнить на будущее

Порядок действий при «Error establishing a database connection», всегда от простого к сложному. В половине случаев хватает первого шага: открыли wp-config.php, поправили пароль, и сайт ожил.

Настройте автоматические бэкапы, если ещё не сделали этого. Бесплатный UpdraftPlus раз в сутки сливает базу и файлы в облако, Google Drive, Dropbox или куда угодно. С бэкапом любой сбой WordPress превращается из катастрофы в десятиминутное неудобство. Проверено.