ворд-пресс.рф
Ошибка

Error establishing a database connection в WordPress: решение

Пошагово проверяем параметры БД, доступность сервера и пределы хостинга при ошибке соединения WordPress.

Коротко: что делать

Проверьте статус MySQL/MariaDB на хостинге и параметры DB_NAME, DB_USER, DB_PASSWORD, DB_HOST в wp-config.php. Не публикуйте пароль и не переустанавливайте WordPress до установления причины.

Сообщение «Error establishing a database connection» означает, что WordPress не смог подключиться к MySQL/MariaDB. Начните с проверки состояния сервера БД у хостинг-провайдера и параметров подключения. Не переустанавливайте WordPress и не импортируйте старую базу до диагностики.

Что проверить первым

  1. Посмотрите сообщения хостинга о работах, авариях, нехватке ресурсов и превышении квоты базы.
  2. Уточните, ошибка появилась после переноса сайта, изменения пароля БД, обновления хостинга или сама по себе.
  3. Если недавно меняли доступы — проверьте wp-config.php, сохраняя секреты в закрытом окружении.
  4. Сохраните резервную копию файлов и базы (если БД доступна через панель), прежде чем править конфигурацию.

1. Проверьте параметры в wp-config.php

Файл находится в корне WordPress. В нём должны быть правильно заданы значения:

define( 'DB_NAME', 'example_database' );
define( 'DB_USER', 'example_user' );
define( 'DB_PASSWORD', 'REPLACE_WITH_REAL_SECRET_LOCALLY' );
define( 'DB_HOST', 'localhost' );

Это пример, а не готовый конфиг. Имя базы, пользователь, пароль и сервер зависят от хостинга. Никогда не вставляйте реальные значения из wp-config.php в открытый чат, заявку без защищённого канала или публичный репозиторий.

DB_HOST необязательно равен localhost: на части хостингов используется отдельный адрес и порт или сокет. Сверяйте значения с панелью хостера.

2. Проверьте доступность MySQL/MariaDB

В панели хостинга проверьте, запущена ли служба базы и не превышен ли лимит ресурсов. Если доступен безопасный администрируемый клиент СУБД, попробуйте открыть именно нужную базу под выделенным пользователем без публикации логина/пароля. При ошибке «Access denied» вероятны неверные права или учётные данные; при «connection refused» — недоступность сервиса или сетевые правила.

На управляемом хостинге самостоятельно запускать или сбрасывать MySQL обычно не нужно: обратитесь в поддержку с временем ошибки, названием услуги и обезличенным сообщением из журнала.

3. Если ошибка началась после переноса

Сравните старый и новый DB_HOST, имя базы, пользователя, префикс таблиц и факт завершения импорта SQL. Не используйте SQL-команды «очистить и импортировать» как первую попытку ремонта: на действующем сайте могут быть новые комментарии, заявки и заказы.

Проверки файлов, базы и URL при переносе описаны отдельно в инструкции переноса WordPress. Это другой интент: здесь речь только о неудачном соединении.

4. Как читать журналы и отличать проблему от PHP Fatal Error

Если вы видите сообщение подключения к базе, это ещё не «критическая ошибка PHP». Проверяйте именно сеть, состояние СУБД, пользователя и параметры WordPress. Если вместо сообщения показывается «На сайте возникла критическая ошибка», используйте отдельную инструкцию и PHP-журнал.

Серверные логи могут содержать имена баз, внутренние IP-адреса и части строк подключения. Перед публикацией или отправкой третьим лицам удаляйте чувствительные данные.

5. Как подтвердить восстановление

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

Чего не делать

  • Не сбрасывайте пароль БД без понимания, какие ещё приложения его используют.
  • Не запускайте «ремонт таблиц» или прямую замену базы просто из-за отсутствия соединения.
  • Не открывайте wp-config.php через публичную ссылку и не пересылайте пароль для диагностики.
  • Не удаляйте таблицы wp_ и не меняйте их префикс наугад.

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

Источник: https://developer.wordpress.org/advanced-administration/wordpress/common-errors/

Материал был полезен?

Помогите нам сделать материалы точнее и понятнее.