Ошибки

Error establishing a database connection: WordPress не подключается к базе

Вместо сайта — одна строка Error establishing a database connection. WordPress не смог подключиться к базе данных: в wp-config.php неверные данные или не работает сервер баз данных.

Обновлено 10.10.2026≈ 6 мин чтения
Содержание 9

Что сделать прямо сейчас

  1. Откройте страницу входа в админку: допишите к адресу сайта /wp-admin/, например https://example.com/wp-admin/. Там WordPress покажет ту же ошибку, но с подсказками.
  2. Сверьте четыре строки в файле wp-config.php — шаг 1.
  3. На VPS проверьте, пускает ли база с этими данными и работает ли сервер баз данных — шаги 2 и 3.
  4. На обычном хостинге, если данные верны, напишите в поддержку — подробнее.

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

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

На страницах сайта — только заголовок. В админке, по адресу /wp-admin/, WordPress добавляет пояснение: неверны имя пользователя и пароль в wp-config.php или не отвечает сервер баз данных. И три вопроса: верны ли пользователь и пароль, верно ли указан сервер, работает ли сервер баз данных. По этим вопросам и пойдём.

Шаг 1. Проверьте wp-config.php

На обычном хостинге файлы сайта открывают в файловом менеджере панели хостинга. Папка WordPress — та, где лежат папки wp-admin, wp-content и wp-includes. Откройте в нём файл wp-config.php.

На VPS подключитесь к серверу — как это сделать, рассказано в инструкции Как подключиться к VPS по SSH. В примерах папка сайта — /var/www/example.com: подставьте свою. Путь к ней указан в строке root в файле настроек сайта nginx. Откройте файл командой:

sudo nano /var/www/example.com/wp-config.php

Найдите четыре строки — в nano нажмите Ctrl+W, введите DB_NAME и нажмите Enter. В файле, который идёт вместе с WordPress, они выглядят так:

define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );

В ваших строках вместо слов в правых кавычках — свои значения. Вот что должно там стоять:

СтрокаЧто в ней должно быть
DB_NAMEИмя базы данных — то, что вы указали, когда создавали базу
DB_USERПользователь базы данных. Не логин в панели хостинга и не логин в WordPress
DB_PASSWORDПароль этого пользователя базы
DB_HOSTСервер баз данных: localhost, если база на том же сервере, что и сайт. На хостинге — адрес из раздела панели, где создаются базы

Значение пишется между одинарными кавычками, без пробелов по краям. Если в пароле есть апостроф ', в файле перед ним нужна обратная косая черта: \'. Если правили файл — сохраните файл: в nano — Ctrl+O, Enter, затем Ctrl+X. Затем откройте сайт снова.

Если ошибка появилась после переезда сайта, в wp-config.php остались данные старого хостинга: впишите имя базы, пользователя и пароль, которые вы создали на новом. Как переносить сайт, рассказано в инструкции Как перенести сайт на другой хостинг.

Шаг 2. Проверьте данные командой mysql

Этот шаг — для VPS. Подключитесь к базе с теми же данными, что в wp-config.php. Подставьте вместо wpuser значение DB_USER, а вместо wordpress — DB_NAME:

mysql -u wpuser -p wordpress

Программа спросит пароль — введите значение DB_PASSWORD. Символы при вводе не видны, так и должно быть. Если программа пустила вас и ждёт команд — строка начинается с mysql> или MariaDB, — данные верны. Выйдите командой exit и переходите к шагу 3. Если же программа ответила ошибкой, найдите её номер в таблице:

ОтветЧто это значитЧто делать
ERROR 1045 … Access denied for userНеверный пользователь или парольРазбор ошибки 1045
ERROR 1044 … Access denied … to databaseПароль верный, но у пользователя нет прав на эту базуРазбор ошибки 1044
ERROR 1049 … Unknown databaseБазы с таким именем нетРазбор ошибки 1049
ERROR 2002 … Can't connectСервер баз данных не отвечаетРазбор ошибки 2002 и шаг 3 ниже

Шаг 3. Проверьте, работает ли сервер баз данных

Этот шаг тоже для VPS. Если на сервере стоит MySQL, введите:

sudo systemctl status mysql

Если MariaDB:

sudo systemctl status mariadb

Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. Чтобы вернуться к вводу команд после systemctl status, нажмите клавишу Q.

В строке Active должно быть active (running). Если там inactive или failed, запустите сервер — вместо mysql подставьте mariadb, если у вас она:

sudo systemctl start mysql

Если команда ничего не ответила, сервер запущен: откройте сайт снова. Если она ответила ошибкой Job for … failed, разберите её по странице Job for … failed. Сервер баз данных может останавливаться и сам — когда на сервере кончается память (Out of memory) или место на диске (No space left on device).

Если сайт на обычном хостинге

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

Если заголовок другой: Cannot select database

Это значит, что WordPress подключился к серверу баз данных — пользователь и пароль верны, — но не смог открыть базу из строки DB_NAME. Проверьте имя базы: оно должно совпадать до буквы. Если имя верное, проверьте, есть ли у пользователя права на эту базу, — как это сделать, рассказано в разборе ошибки 1044.

Тексты сообщений сверены с исходным кодом WordPress 7.1.3. В русской версии WordPress те же сообщения показаны по-русски — сравнивайте по смыслу.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026