Сообщение Error establishing a database connection является одной из самых распространенных критических ошибок WordPress. При ее появлении сайт полностью перестает открываться, а вместо содержимого отображается сообщение о невозможности подключения к базе данных. Проблема может быть вызвана неправильными параметрами подключения, повреждением базы данных, сбоями сервера MySQL, превышением лимитов хостинга или ошибками после переноса сайта. В этой статье подробно рассмотрим все возможные причины возникновения ошибки и способы ее устранения с примерами кода.

Что означает ошибка Error establishing a database connection

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

Error establishing a database connection

Основные причины ошибки

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

Проверка файла wp-config.php

В первую очередь необходимо открыть файл:
/wp-config.php
Проверьте параметры подключения.
define('DB_NAME', 'database_name'); define('DB_USER', 'database_user'); define('DB_PASSWORD', 'database_password'); define('DB_HOST', 'localhost');
Даже одна лишняя буква приведет к невозможности подключения.

Проверка имени базы данных

Имя базы должно совпадать с созданной в панели управления хостингом. Например:
define('DB_NAME', 'site_db');

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

define('DB_USER', 'site_user');
Пользователь должен иметь права на выбранную базу данных.

Проверка пароля

define('DB_PASSWORD', 'StrongPassword123');
Если пароль недавно менялся в панели управления, необходимо изменить его и в wp-config.php.

Проверка DB_HOST

На большинстве хостингов используется:
define('DB_HOST', 'localhost');
Однако некоторые провайдеры используют:
127.0.0.1
или собственное имя сервера:
mysql.example.com

Проверка подключения к MySQL

Можно создать тестовый PHP-файл.
<?php $conn = new mysqli( 'localhost', 'database_user', 'database_password', 'database_name' ); if ($conn->connect_error) { die($conn->connect_error); } echo "Соединение успешно"; ?>
Если соединение не устанавливается, проблема находится на стороне сервера или параметров подключения.

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

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

Проверка сервера MySQL

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

Проверка через phpMyAdmin

Если phpMyAdmin открывается и отображает таблицы WordPress, значит база данных существует. Следует убедиться:
  • все таблицы присутствуют;
  • нет пометок "In use" или "Crashed";
  • кодировка базы корректная.

Оптимизация поврежденных таблиц

В MySQL можно выполнить:
REPAIR TABLE wp_posts; REPAIR TABLE wp_options; REPAIR TABLE wp_users;
Либо сразу для всех таблиц через phpMyAdmin.

Проверка свободного места

Если диск полностью заполнен, MySQL может перестать работать. На VPS выполните:
df -h

Проверка логов PHP

Журналы ошибок помогут найти истинную причину. Для включения логирования используйте:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
Ошибки будут записываться в:
/wp-content/debug.log

Ошибка после переноса сайта

После миграции необходимо проверить:
  • новые параметры базы данных;
  • префикс таблиц;
  • кодировку;
  • доступ пользователя к базе;
  • корректность импорта SQL.

Проверка префикса таблиц

$table_prefix = 'wp_';
Если импортировались таблицы с другим префиксом, WordPress не сможет их найти.

Проверка версии PHP

Иногда после обновления PHP используются устаревшие драйверы подключения к MySQL. Рекомендуется использовать современные версии PHP и актуальные расширения MySQLi.

Проверка лимитов хостинга

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

Как избежать появления ошибки

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

Часто задаваемые вопросы

Можно ли потерять данные?

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

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

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

Поможет ли переустановка WordPress?

Нет. Если причина заключается в настройках подключения или работе сервера базы данных, переустановка файлов WordPress не устранит проблему. Ошибка Error establishing a database connection в WordPress практически всегда связана с невозможностью установить соединение с базой данных. В большинстве случаев проблема решается проверкой параметров файла wp-config.php, восстановлением базы данных, диагностикой работы MySQL и анализом журналов ошибок. Последовательная проверка всех возможных причин позволяет быстро восстановить работоспособность сайта и предотвратить повторное возникновение подобных сбоев.

Метки: ,