Ошибки WordPress

Ошибка базы данных WordPress: что делать

МаксимИнженер по WordPress · 10+ лет с WordPress и WooCommerce9 мин чтения224 просмотра

«Error establishing a database connection» — сайт и админка мертвы, заявки не идут. Чаще wp-config или упавший MySQL, не «сломался WordPress». Алгоритм за 20–60 минут — не переустановка с нуля.

В статье
  • Что означает ошибка подключения к базе
  • Шаг 1. Проверьте: падает весь сайт или одна страница
  • Шаг 2. Сверьте wp-config.php с панелью хостинга
  • Шаг 3. Жив ли MySQL на хостинге

Нужна помощь — срочная починка.

Ошибка базы данных WordPress: что делать

Утром вместо главной — серая страница «Error establishing a database connection» или «Ошибка установки соединения с базой данных». Админка та же, заявки не приходят. Общий порядок при «сайт не работает» — в hub-статье по симптомам. В сопровождении WordPress это одна из самых частых «внезапных смертей» сайта — и почти всегда решается за 20–60 минут, если идти по чек-листу, а не переустанавливать CMS с нуля.

Что означает ошибка подключения к базе

Ошибка установки соединения с базой данных WordPress
Сообщение на английском или русском — WordPress не смог достучаться до MySQL/MariaDB.

WordPress на каждом запросе открывает соединение с MySQL или MariaDB через параметры из wp-config.php: имя базы, пользователь, пароль, хост. Если драйвер не подключился — ядро не загружается и показывает одну из двух фраз:

  • Error establishing a database connection (английская локаль);
  • Ошибка установки соединения с базой данных (русская).

Это не «сломался WordPress» и не вирус. Это разрыв между PHP и базой: неверные реквизиты, остановленный MySQL, переполненный диск или битые таблицы после сбоя сервера. Картина похожа на белый экран и ошибку 500, но текст ошибки однозначный — начинайте с базы, а не с плагинов.

Шаг 1. Проверьте: падает весь сайт или одна страница

Откройте главную и любую запись. Если везде одно и то же сообщение про базу — проблема глобальная (конфиг, MySQL, лимиты хостинга). Если только отдельные URL — реже, но бывает повреждение одной таблицы или плагин кэша отдаёт старую заглушку; всё равно первым делом смотрите wp-config.php и статус MySQL.

Шаг 2. Сверьте wp-config.php с панелью хостинга

Настройки базы данных в wp-config WordPress
Четыре константы DB_* в wp-config — единственный мост между WordPress и MySQL.

По FTP или файловому менеджеру откройте wp-config.php в корне сайта. Нужны четыре строки:

define('DB_NAME', 'имя_базы');
define('DB_USER', 'пользователь');
define('DB_PASSWORD', 'пароль');
define('DB_HOST', 'localhost');

На Beget, Timeweb, Reg.ru, SpaceWeb актуальные значения — в разделе «Базы данных MySQL» личного кабинета. Типовые промахи:

  • после переноса на другой хостинг забыли обновить пароль или имя базы (часто с префиксом u123456_);
  • скопировали wp-config.php со staging, а база на проде другая;
  • лишний пробел в пароле при правке в блокноте;
  • вместо DB_HOST указали URL сайта, а не хост MySQL.

DB_HOST: на shared чаще всего localhost. На части хостингов — localhost:/tmp/mysql.sock или отдельный хост вида mysql123.hosting.ru — смотрите подсказку в панели, не угадывайте.

Шаг 3. Жив ли MySQL на хостинге

Статус MySQL в панели хостинга
На shared MySQL иногда останавливают при неоплате или превышении лимита соединений.

Зайдите в панель хостинга → MySQL / MariaDB. Признаки проблемы на стороне сервера:

  • база «остановлена» или «приостановлена»;
  • закончилась квота диска — MySQL не стартует;
  • техработы — статус в новостях хостера;
  • на тарифе исчерпан лимит одновременных подключений (тяжёлый импорт, зависший cron).

Если phpMyAdmin из панели тоже не подключается с теми же логином и паролем — править нужно не WordPress, а хостинг (оплата, лимиты, тикет в поддержку).

Шаг 4. Проверка через phpMyAdmin

Проверка подключения к базе через phpMyAdmin
Успешный вход в phpMyAdmin с теми же DB_USER/DB_PASSWORD подтверждает, что реквизиты верны.

Откройте phpMyAdmin из панели хостинга, войдите тем же пользователем, что в wp-config.php.

  • Вход успешен — MySQL жив, логин/пароль верны. Значит, WordPress смотрит не туда: другой DB_NAME, опечатка в DB_HOST, или на сервере два окружения (staging/prod перепутали).
  • Access denied — неверный пароль или пользователь не привязан к базе. Сбросьте пароль пользователя MySQL в панели и обновите DB_PASSWORD.
  • База пустая — после миграции залили файлы, но не импортировали SQL. Нужен дамп из бэкапа.

Шаг 5. Починка таблиц (Repair)

Восстановление таблиц MySQL WordPress
REPAIR TABLE или «Восстановить» в phpMyAdmin — после внезапного отключения сервера.

Если реквизиты верны, MySQL работает, но сайт всё равно показывает ошибку — таблицы могли повредиться при резком выключении VPS или переполнении диска. В phpMyAdmin выберите базу → отметьте все таблицы с префиксом wp_ (или ваш кастомный) → «Восстановить» / Repair.

Альтернатива — временно в wp-config.php:

define('WP_ALLOW_REPAIR', true);

Откройте https://ваш-сайт.ru/wp-admin/maint/repair.php, запустите repair. Сразу после удалите константу — иначе страницу восстановления увидят все.

Шаг 6. После смены пароля, домена или переноса

Перенос WordPress и настройка базы данных
После переезда часто меняют только файлы — забывают импорт SQL и правку wp-config.

Типовой сценарий: перенесли файлы по FTP, домен уже смотрит на новый хостинг, а:

  • дамп базы не импортировали;
  • создали новую пустую базу с другим именем;
  • на старом хосте MySQL ещё «живой», а DNS уже на новом — кажется, что «всё сломалось за ночь».

Порядок при переезде: бэкап → импорт SQL на новом хосте → правка wp-config.php → проверка siteurl и home в таблице wp_options (или через WP-CLI / одноразовый скрипт). Подробнее про выбор хостинга и лимиты — в статье про хостинг для WordPress.

Что не делать

  • Не переустанавливать WordPress поверх живой базы «на авось» — риск потерять контент и получить дубли таблиц.
  • Не публиковать wp-config.php в чатах и тикетах — там пароль базы. Достаточно скриншота панели с замазанным паролем.
  • Не править таблицы вручную, если не уверены в SQL — одна ошибка в wp_options ломает URL сайта.
  • Не путать с critical error — там другое сообщение и решается отключением плагина; см. критическая ошибка WordPress.

Когда звать специалиста

Если за 30–40 минут не помогли проверка wp-config.php, phpMyAdmin и repair — нужны логи MySQL и доступ SSH, которых на shared может не быть. Пишите на срочную починку: опишем, что проверили, восстановим из бэкапа или поднимем базу на Timeweb/Beget. Оценка задачи бесплатно, оплата по факту.

Поделиться: Telegram VK
Сложный случай?

Опишите ситуацию — поможем

Только WordPress. Если статья не закрыла вопрос — напишите, посмотрим конкретно ваш сайт.

Если есть — поможет быстрее оценить задачу.
Необязательно · до 10 МБ · PNG, JPG, PDF, ZIP
Удобный канал связи

URL сайта и краткое описание задачи. Чем больше деталей, тем точнее оценка.

Не передаём третьим лицам · Политика