GUARDLABS
GuardLabs · Technical note

Как исправить ошибку «Error establishing a database connection» в WordPress

Ошибка установления связи с базой данных в WordPress означает, что PHP-код вашего сайта не может подключиться к базе данных MySQL/MariaDB. Это происходит по трем основным причинам: неверные учетные данные в конфигурационном файле, повреждение таблиц базы данных или сбой в работе сервера СУБД. Ниже приведены пошаговые инструкции для диагностики и устранения этой проблемы.

1. Проверка учетных данных в wp-config.php

В 90% случаев ошибка возникает из-за неверных параметров подключения после переноса сайта или смены паролей. Подключитесь к сайту по FTP/SFTP или через файловый менеджер панели хостинга, откройте файл wp-config.php в корневом каталоге и найдите следующие строки:

define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'имя_пользователя');
define('DB_PASSWORD', 'пароль_пользователя');
define('DB_HOST', 'localhost');

Выполните следующие шаги для проверки:

  • Сравните эти значения с параметрами базы данных в панели управления вашего хостинга.
  • Убедитесь, что у пользователя базы данных есть полные права (ALL PRIVILEGES) на чтение и запись в указанную БД.
  • Проверьте параметр DB_HOST. На большинстве хостингов это localhost, но некоторые провайдеры используют IP-адреса или отдельные доменные имена (например, mysql.yourdomain.com).

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

Если при попытке зайти в административную панель сайта (/wp-admin) вы видите ошибку, отличную от главной страницы (например, «One or more database tables are unavailable»), это указывает на повреждение таблиц базы данных.

Для запуска автоматического восстановления WordPress добавьте следующую строку в файл wp-config.php прямо перед строкой /* That's all, stop editing! Happy publishing. */:

define('WP_ALLOW_REPAIR', true);

После сохранения файла перейдите по адресу:

https://ваш-сайт.com/wp-admin/maint/repair.php

Нажмите кнопку «Repair Database» (Восстановить базу данных). После завершения процесса обязательно удалите добавленную строку define('WP_ALLOW_REPAIR', true); из файла wp-config.php, чтобы посторонние лица не могли запустить этот скрипт.

3. Проверка работы MySQL-сервера (для VPS/VDS)

Если у вас собственный виртуальный или выделенный сервер, служба базы данных могла аварийно завершить работу из-за нехватки оперативной памяти (OOM Killer) или высокой нагрузки.

Подключитесь к серверу по SSH и проверьте статус службы СУБД:

# Для Ubuntu/Debian с MySQL:
sudo systemctl status mysql

# Для Ubuntu/Debian с MariaDB:
sudo systemctl status mariadb

# Для CentOS/RHEL:
sudo systemctl status mariadb

Если служба остановлена (статус inactive или failed), перезапустите ее:

sudo systemctl restart mysql # или mariadb

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

4. Тестирование подключения через PHP-скрипт

Чтобы исключить проблемы внутри самого ядра WordPress, создайте в корневом каталоге сайта тестовый файл db-test.php со следующим содержимым:

<?php
$link = mysqli_connect('localhost', 'имя_пользователя', 'пароль_пользователя');
if (!$link) {
    die('Ошибка подключения: ' . mysqli_connect_error());
}
echo 'Подключение успешно установлено!';
mysqli_close($link);
?>

Замените параметры подключения на ваши данные из wp-config.php и перейдите по адресу https://ваш-сайт.com/db-test.php. Если скрипт выводит ошибку подключения, проблема лежит на стороне сервера СУБД или неверных учетных данных. Если выводится сообщение об успешном подключении — проблема в самом WordPress (например, повреждены файлы ядра или повреждена конкретная таблица wp_options).

После диагностики обязательно удалите файл db-test.php с сервера.

Need this done? We handle this hands-on at GuardLabs — get in touch.

Опубликовано 2026-06-23 2 мин чтения Все статьи EN / RU / ES
Need help with this?

I take on freelance fixes and builds in this area.