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-adminwp-contentwp-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
Если ошибка появилась после переноса сайта, проверьте весь порядок подключения.
- База данных импортирована на новый хостинг.
- В
wp-config.phpуказано новое имя базы. - Указан новый пользователь базы.
- Указан новый пароль.
- DB_HOST соответствует новому хостингу.
- Пользователь имеет права на базу.
- MySQL/MariaDB работает.
- Размер базы не превышает лимит тарифа.
Частая ошибка: файлы WordPress перенесли, а базу данных не импортировали. В таком случае WordPress физически не имеет данных, к которым должен подключиться.
Как исправить ошибку на shared-хостинге
Если сайт находится на обычном хостинге без SSH, действуйте через панель.
- Откройте файловый менеджер.
- Найдите
wp-config.php. - Проверьте DB_NAME, DB_USER, DB_PASSWORD и DB_HOST.
- Откройте раздел MySQL Databases.
- Проверьте, существует ли база.
- Проверьте пользователя и его права.
- Откройте phpMyAdmin и проверьте, видны ли таблицы WordPress.
- Если база недоступна, обратитесь в поддержку хостинга.
На 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, лимиты хостинга и свободное место на сервере.
«`
