WordPress WordPressMySQLMariaDB Error establishing a database connection

WordPress: «Error establishing a database connection» — как исправить

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Сообщение «Error establishing a database connection» значит, что WordPress не смог подключиться к базе данных. Причины: неверные имя базы, пользователь, пароль или адрес сервера в wp-config.php; остановленный или перегруженный сервер MySQL/MariaDB; повреждённая база либо исчерпанный лимит соединений. Проверьте данные подключения из wp-config.php напрямую через клиент MySQL — так быстро понятно, виноват WordPress или сервер базы.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговая диагностика
  4. Шаг 3. Проверка подключения
  5. Шаг 4. Состояние сервера
  6. Шаг 5. Восстановление таблиц
  7. Как проверить результат
  8. Если не помогло

#Что означает ошибка

Error establishing a database connection
Error establishing a database connection
По-русскиОшибка установления соединения с базой данных.

WordPress хранит всё содержимое сайта в базе данных. При каждом запросе он подключается к ней, используя параметры из файла wp-config.php: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST. Если подключиться не удалось — сайт и админка показывают эту строку. Сообщение не уточняет причину, поэтому проверяйте звенья цепочки по очереди.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Неверные данные подключения в wp-config.phpИмя базы, пользователь, пароль или хост указаны с ошибкой либо изменились при переносе.Ошибка появилась после переезда, смены пароля или правки wp-config.php.Сверьте значения с панелью хостинга и проверьте подключение вручную (шаг 3).
Сервер базы данных не работает или перегруженСлужба MySQL/MariaDB остановлена, упала из-за нехватки памяти либо исчерпала лимит соединений.Ошибка периодическая, под нагрузкой; другие сайты на том же сервере тоже недоступны.Проверьте и запустите службу, посмотрите журнал базы, лимиты соединений.
Неправильный DB_HOSTБаза находится на другом сервере или использует нестандартный порт или сокет.Хостинг указывает отдельный адрес базы данных, а в конфигурации стоит localhost.Укажите хост из панели хостинга (формат адрес или адрес:порт).
Повреждена база данныхТаблицы повреждены после сбоя.Подключение удаётся, но ошибка остаётся только на сайте; админка сообщает о повреждении.Восстановите таблицы встроенным инструментом (шаг 5) или из резервной копии.
Закончилось место или права пользователя базыДиск сервера заполнен, либо у пользователя базы отозваны права.В журнале MySQL — ошибки записи; пользователь не может выбрать базу.Освободите место, проверьте права пользователя на базу.

#Пошаговая диагностика

  1. Определите, затронута ли админкаПопробуйте открыть главную WordPress и /wp-admin/ отдельно. Если оба URL показывают Error establishing a database connection, проверьте общую БД; если ошибка только в админке, запишите отличающийся текст и журналы. Не начинайте с восстановления таблиц без подтверждения их повреждения.
  2. Проверьте данные в wp-config.phpЧерез защищённый файловый менеджер или SSH откройте wp-config.php в корне сайта и сверьте DB_NAME, DB_USER, DB_HOST с параметрами базы в панели. Пароль DB_PASSWORD не показывайте в отчёте и не публикуйте в ошибке PHP; если его меняли, обновите одновременно учётную запись и конфигурацию.
  3. Проверьте подключение вручнуюНа сервере с доступом к MySQL выполните mysql -h реальный_хост -u реальный_пользователь -p имя_базы -e "SELECT 1". Отказ 1045 указывает на пароль или права, ошибка сокета — на служебный адрес, отсутствие базы — на импорт. Не создавайте новую пустую БД поверх рабочего сайта.
  4. Проверьте, работает ли MySQLЕсли база локальная, проверьте systemctl status mysql/mariadb, журналы и свободное место; на общем хостинге пользуйтесь разделом БД панели и поддержкой. Не перезапускайте MySQL общего сервера без окна обслуживания.
  5. Восстановите таблицыРемонт таблиц допустим только при сообщении о повреждении, после полной копии БД и проверки типа движка. Для обычного WordPress на InnoDB универсальный REPAIR TABLE не подходит; предпочтительна диагностика и восстановление из копии. После исправления откройте главную, вход и несколько записей.

#Шаг 3. Проверка подключения

Linux · Терминал (Bash)Команда
Введите пароль из wp-config.php. Если подключение успешно — данные верные, ищите проблему в хосте или самом WordPress; если Access denied — неверные данные или права. Подставьте свои значения.
mysql -h localhost -u имя_пользователя -p имя_базы

#Шаг 4. Состояние сервера

Linux · Терминал (Bash)КомандаНужен sudo
Статус службы (на некоторых системах — mariadb), место на диске с данными и последние записи журнала. Команды только читают.
sudo systemctl status mysql --no-pager
df -h /var/lib/mysql
sudo journalctl -u mysql -n 30 --no-pager

#Шаг 5. Восстановление таблиц

wp-config.php
Добавьте строку, откройте /wp-admin/maint/repair.php и запустите восстановление. После этого обязательно удалите строку: страница доступна без входа.
define( 'WP_ALLOW_REPAIR', true );

#Как проверить результат

  • Сайт и /wp-admin/ открываются без сообщения об ошибке подключения.
  • В wp-config.php нет временной строки WP_ALLOW_REPAIR.

#Если не помогло

Если сервер базы падает из-за нехватки памяти, снизьте нагрузку (кэширование, отключение тяжёлых плагинов) или увеличьте ресурсы. При переносе сайта убедитесь, что пользователь базы создан на новом сервере и имеет права. Если ничего не помогает, проверьте работу MySQL (systemctl status mysql), свободное место на диске и выполните mysqlcheck --auto-repair по базе.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.