Error Establishing Database Connection: что значит ошибка и как исправить

Error Establishing Database Connection означает, что сайт не может подключиться к базе данных. Чаще всего эта ошибка встречается на WordPress-сайтах, когда WordPress не может получить доступ к MySQL или MariaDB.

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

Quick Fix

  • Проверьте, работает ли сайт через несколько минут. Иногда это временный сбой хостинга.
  • Проверьте файл wp-config.php: имя базы, пользователя, пароль и хост.
  • Убедитесь, что MySQL/MariaDB запущен.
  • На VPS проверьте статус базы: sudo systemctl status mysql
  • Проверьте, не закончилась ли квота диска: df -h
  • Проверьте, не превышены ли лимиты хостинга.
  • Попробуйте восстановить базу данных WordPress.
  • Посмотрите error logs в панели хостинга или на сервере.

Что означает Error Establishing Database Connection

Error Establishing Database Connection — это ошибка подключения к базе данных. WordPress состоит из файлов сайта и базы данных. В файлах находятся темы, плагины и ядро WordPress. В базе данных хранятся записи, страницы, настройки, пользователи, комментарии и параметры плагинов.

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

Error establishing a database connection

Это не всегда значит, что база удалена. Часто база на месте, но WordPress не может к ней подключиться.

Основные причины Error Establishing Database Connection

1. Неправильное имя базы данных

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

Строка выглядит так:

define('DB_NAME', 'database_name');

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

2. Неправильный пользователь базы данных

WordPress подключается к базе через отдельного MySQL-пользователя. Если имя пользователя указано неправильно, подключение не пройдёт.

define('DB_USER', 'database_user');

На shared-хостинге имя пользователя часто имеет префикс аккаунта. Например:

accountname_wpuser

Если указать только wpuser, подключение может не работать.

3. Неправильный пароль базы данных

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

define('DB_PASSWORD', 'database_password');

Пароль должен полностью совпадать с паролем пользователя базы данных в панели хостинга.

4. Неправильный DB_HOST

Для большинства WordPress-сайтов используется:

define('DB_HOST', 'localhost');

Но на некоторых хостингах база данных находится на отдельном сервере. Тогда DB_HOST может выглядеть так:

mysql.example-host.com
127.0.0.1
localhost:3306
database123.hosting.com

Если DB_HOST указан неправильно, WordPress не сможет подключиться к MySQL.

5. MySQL или MariaDB не работает

На VPS ошибка часто появляется, если служба базы данных остановилась.

Проверьте статус MySQL:

sudo systemctl status mysql

Для MariaDB:

sudo systemctl status mariadb

Если служба остановлена, попробуйте запустить её:

sudo systemctl restart mysql

или:

sudo systemctl restart mariadb

6. База данных повреждена

Иногда WordPress может подключаться к базе, но отдельные таблицы повреждены. Это может случиться после сбоя сервера, нехватки места на диске, неправильного восстановления бэкапа или аварийной остановки MySQL.

В таком случае ошибка может появляться не всегда. Иногда ломается только админка, отдельные страницы или часть сайта.

7. Закончилась квота диска

Если на сервере закончилось место, MySQL может перестать работать корректно. База не сможет записывать временные файлы, логи или новые данные.

Проверьте место на VPS:

df -h

Если диск заполнен на 100%, сначала освободите место, затем перезапустите MySQL.

8. Превышены лимиты хостинга

На shared-хостинге база данных может быть временно недоступна из-за лимитов.

Частые лимиты:

  • слишком много подключений к MySQL;
  • высокая нагрузка на CPU;
  • превышение RAM;
  • лимит процессов PHP;
  • ограничение по размеру базы данных;
  • перегрузка сервера хостинга.

9. Ошибка после миграции сайта

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

Проверьте:

  • имя базы данных;
  • имя пользователя;
  • пароль;
  • DB_HOST;
  • права пользователя базы;
  • импортирована ли сама база данных.

10. Неправильные права пользователя базы

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

Пользователь должен иметь права на чтение, запись, изменение таблиц и выполнение нужных операций WordPress.

Как исправить Error Establishing Database Connection

1. Проверьте, временная ли это проблема

Если ошибка появилась внезапно без ваших изменений, подождите 2–5 минут и обновите страницу. Иногда MySQL на хостинге временно перезапускается или сервер перегружен.

Проверьте сайт:

  • в другом браузере;
  • с мобильного интернета;
  • через режим инкогнито;
  • через панель хостинга.

Если ошибка у всех пользователей, проблема на сервере или в настройках сайта.

2. Откройте wp-config.php

Файл wp-config.php находится в корневой папке WordPress, рядом с папками:

  • wp-admin
  • wp-content
  • wp-includes

Откройте его через файловый менеджер хостинга, FTP/SFTP или SSH.

Найдите строки:

define('DB_NAME', 'database_name');
define('DB_USER', 'database_user');
define('DB_PASSWORD', 'database_password');
define('DB_HOST', 'localhost');

Эти четыре значения должны совпадать с данными базы данных в панели хостинга.

3. Проверьте имя базы данных

Откройте панель хостинга и найдите раздел:

  • Databases;
  • MySQL Databases;
  • Database Management;
  • phpMyAdmin;
  • MariaDB/MySQL.

Сравните реальное имя базы с тем, что указано в DB_NAME.

Если имя отличается, исправьте строку в wp-config.php.

4. Проверьте пользователя базы данных

В панели хостинга проверьте, какой пользователь привязан к базе. Он должен совпадать с DB_USER.

Если пользователя нет, создайте нового и привяжите его к базе данных.

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

5. Сбросьте пароль базы данных

Если вы не уверены в пароле, задайте новый пароль для MySQL-пользователя в панели хостинга.

После этого вставьте новый пароль в wp-config.php:

define('DB_PASSWORD', 'new_password_here');

Сохраните файл и обновите сайт.

6. Проверьте DB_HOST

Если вы на обычном хостинге, найдите в справке хостинга правильное значение DB_HOST. Не всегда это localhost.

Возможные варианты:

localhost
127.0.0.1
localhost:3306
mysql.yourhost.com
db123.hostingprovider.com

Если сайт был перенесён, старый DB_HOST почти наверняка нужно заменить.

7. Проверьте подключение к базе через phpMyAdmin

Откройте phpMyAdmin в панели хостинга. Если база открывается, значит MySQL работает, но WordPress может использовать неправильные данные подключения.

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

8. Восстановите базу данных WordPress

WordPress имеет встроенный режим восстановления базы данных.

Откройте wp-config.php и добавьте строку:

define('WP_ALLOW_REPAIR', true);

После этого откройте в браузере:

https://example.com/wp-admin/maint/repair.php

Выберите восстановление базы данных.

После завершения обязательно удалите строку:

define('WP_ALLOW_REPAIR', true);

Если оставить её, страница восстановления будет доступна посторонним.

9. Проверьте MySQL на VPS

Если у вас VPS, проверьте статус базы данных.

Для MySQL:

sudo systemctl status mysql

Для MariaDB:

sudo systemctl status mariadb

Если база остановлена:

sudo systemctl restart mysql

или:

sudo systemctl restart mariadb

Если запуск не проходит, смотрите логи.

10. Проверьте логи MySQL

На Ubuntu/Debian логи могут находиться здесь:

/var/log/mysql/error.log

Проверьте последние строки:

sudo tail -n 100 /var/log/mysql/error.log

Для MariaDB путь может отличаться. Также можно использовать:

sudo journalctl -xeu mysql

или:

sudo journalctl -xeu mariadb

Как исправить ошибку после миграции WordPress

Если ошибка появилась после переноса сайта, проверьте весь порядок подключения.

  1. База данных импортирована на новый хостинг.
  2. В wp-config.php указано новое имя базы.
  3. Указан новый пользователь базы.
  4. Указан новый пароль.
  5. DB_HOST соответствует новому хостингу.
  6. Пользователь имеет права на базу.
  7. MySQL/MariaDB работает.
  8. Размер базы не превышает лимит тарифа.

Частая ошибка: файлы WordPress перенесли, а базу данных не импортировали. В таком случае WordPress физически не имеет данных, к которым должен подключиться.

Как исправить ошибку на shared-хостинге

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

  1. Откройте файловый менеджер.
  2. Найдите wp-config.php.
  3. Проверьте DB_NAME, DB_USER, DB_PASSWORD и DB_HOST.
  4. Откройте раздел MySQL Databases.
  5. Проверьте, существует ли база.
  6. Проверьте пользователя и его права.
  7. Откройте phpMyAdmin и проверьте, видны ли таблицы WordPress.
  8. Если база недоступна, обратитесь в поддержку хостинга.

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

Как исправить ошибку на VPS

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

Проверьте статус сервисов:

sudo systemctl status mysql
sudo systemctl status nginx
sudo systemctl status apache2
sudo systemctl status php8.2-fpm

Проверьте диск:

df -h

Проверьте память:

free -m

Проверьте логи MySQL:

sudo tail -n 100 /var/log/mysql/error.log

Если MySQL падает из-за нехватки памяти, сервер может убивать процесс. В таком случае нужно оптимизировать MySQL, добавить swap или увеличить тариф VPS.

Advanced Troubleshooting

Проверьте лимит max_connections

Если сайт получает много трафика или плагин создаёт слишком много запросов, MySQL может упереться в лимит подключений.

В логах может быть:

Too many connections

На VPS можно проверить текущие подключения:

mysqladmin processlist

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

Проверьте права пользователя MySQL

Подключитесь к MySQL и проверьте права пользователя.

mysql -u root -p

Затем:

SHOW GRANTS FOR 'database_user'@'localhost';

Пользователь должен иметь права на нужную базу данных.

Проверьте повреждённые таблицы

В phpMyAdmin можно выбрать базу, отметить таблицы и выбрать:

Repair table

На VPS можно использовать:

mysqlcheck -u root -p --repair database_name

Перед ремонтом базы лучше сделать резервную копию.

Проверьте wp_options

Если ошибка появляется нестабильно, проблема может быть в тяжёлых autoload-записях в таблице wp_options. Большие autoload-данные могут сильно нагружать базу.

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

Проверьте slow queries

Если MySQL работает, но сайт периодически падает, включите slow query log. Он покажет тяжёлые запросы, которые перегружают базу.

Причиной могут быть:

  • плохие плагины;
  • большая таблица wp_postmeta;
  • поиск по сайту без индексов;
  • боты;
  • плагины статистики;
  • WooCommerce с большим каталогом.

Проверьте файл hosts и remote database

Если база находится на удалённом сервере, проверьте, разрешено ли подключение с IP вашего сайта. На некоторых хостингах нужно добавить IP сайта в список разрешённых для remote MySQL.

Также проверьте порт MySQL:

3306

Firewall может блокировать подключение к удалённой базе.

Частые ошибки и что они означают

Access denied for user

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

Unknown database

База данных с таким именем не существует. Проверьте DB_NAME.

Can’t connect to local MySQL server

MySQL не запущен, использует другой socket или указан неправильный DB_HOST.

Too many connections

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

No space left on device

На сервере закончилось место. Очистите диск и перезапустите MySQL.

Что нельзя делать

  • Не удаляйте базу данных без бэкапа.
  • Не меняйте пароль базы, если не готовы сразу обновить wp-config.php.
  • Не импортируйте новый SQL поверх старой базы без копии.
  • Не запускайте repair без резервной копии, если база важная.
  • Не меняйте сразу все настройки сервера без проверки.
  • Не удаляйте таблицы WordPress вручную, если не понимаете их назначение.

Как предотвратить Error Establishing Database Connection

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

Когда обращаться в поддержку хостинга

Обратитесь в поддержку, если:

  • вы не меняли настройки, но ошибка появилась внезапно;
  • phpMyAdmin не открывается;
  • база данных исчезла из панели;
  • MySQL недоступен на стороне хостинга;
  • вы не знаете правильный DB_HOST;
  • вы не можете сбросить пароль пользователя базы;
  • сайт превышает лимиты MySQL;
  • после миграции база не подключается.

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

FAQ

Что значит Error Establishing Database Connection?

Это значит, что WordPress или другой сайт не может подключиться к базе данных. Причина может быть в неправильных данных подключения, недоступном MySQL, повреждённой базе, лимитах хостинга или ошибке сервера.

Как быстро исправить Error Establishing Database Connection в WordPress?

Проверьте файл wp-config.php: DB_NAME, DB_USER, DB_PASSWORD и DB_HOST. Затем проверьте, работает ли MySQL и доступна ли база через phpMyAdmin.

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

После миграции часто остаются старые данные базы в wp-config.php, база не импортирована или пользователь базы не имеет прав. Нужно проверить новые данные подключения на новом хостинге.

Может ли ошибка быть из-за хостинга?

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

Можно ли восстановить сайт без доступа к админке WordPress?

Да. Данные подключения можно исправить через файловый менеджер, FTP/SFTP или SSH. Базу можно проверить через phpMyAdmin или инструменты хостинга.

Вывод

Error Establishing Database Connection почти всегда связан с подключением WordPress к MySQL или MariaDB. Начните с проверки wp-config.php, затем проверьте доступность базы, права пользователя, MySQL-сервис, диск и лимиты хостинга.

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

«`