Ошибка подключения к базе данных WordPress: причины и как исправить

Автор:vkuzyomko

Ошибка подключения к базе данных WordPress: причины и как исправить

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

Причина

WordPress хранит записи, страницы, настройки, пользователей, меню, заказы WooCommerce и большую часть данных в базе MySQL или MariaDB. Если PHP-код сайта не может подключиться к базе, WordPress показывает сообщение «Ошибка подключения к базе данных».

Это не всегда значит, что база удалена. Чаще сайт просто не может до неё достучаться из-за неверного логина, пароля, имени базы, DB_HOST, сбоя MySQL, перегрузки сервера или ошибки после переноса.

Если ошибка появилась после переноса сайта, отдельно проверьте инструкцию переноса WordPress на другой хостинг без потери данных. В таких случаях проблема часто находится в wp-config.php, правах пользователя базы, DNS, SSL или разных версиях PHP/MySQL.

Основные причины

  • неверное имя базы данных в wp-config.php;
  • неверный пользователь базы данных;
  • неверный пароль пользователя базы;
  • неправильный DB_HOST;
  • сервер MySQL/MariaDB временно недоступен;
  • на хостинге превышен лимит подключений к базе;
  • база повреждена;
  • пароль базы изменили в панели хостинга, но не обновили в wp-config.php;
  • сайт перенесли, а данные подключения остались от старого сервера;
  • заполнен диск на хостинге;
  • повреждён wp-config.php;
  • пользователь базы не имеет нужных прав;
  • firewall или настройки сервера блокируют подключение к базе;
  • вирус или неудачная правка повредили конфигурационные файлы.

Диагностика

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

Симптом Вероятная причина Где проверять
Ошибка появилась сразу после переноса Неверные DB_NAME, DB_USER, DB_PASSWORD или DB_HOST wp-config.php, панель хостинга, phpMyAdmin
Ошибка появляется периодически Перегрузка MySQL, лимит подключений, слабый хостинг логи MySQL, нагрузка, хостинг, slow queries
Сайт не работает, но phpMyAdmin открывается Ошибка в wp-config.php или правах пользователя базы wp-config.php, права пользователя MySQL
phpMyAdmin тоже не открывается Проблема на стороне сервера базы данных панель хостинга, статус MySQL, поддержка хостинга
Ошибка после смены пароля базы Пароль не обновили в wp-config.php DB_PASSWORD в wp-config.php
Ошибка после взлома или вируса Изменён wp-config.php, удалены таблицы, сломаны права wp-config.php, база, пользователи, backup

Что проверить первым делом

  • открывается ли панель хостинга;
  • открывается ли phpMyAdmin;
  • есть ли сама база данных;
  • совпадает ли имя базы с DB_NAME;
  • совпадает ли пользователь с DB_USER;
  • правильный ли пароль в DB_PASSWORD;
  • правильный ли DB_HOST;
  • есть ли у пользователя базы права на чтение и запись;
  • не заполнен ли диск на хостинге;
  • нет ли аварии MySQL/MariaDB на сервере;
  • есть ли свежий backup базы.

Решение

Исправление зависит от причины. Самый безопасный порядок: backup, проверка wp-config.php, проверка базы в панели хостинга, тест подключения, восстановление прав, repair базы и только потом более глубокая диагностика.

1. Сделайте резервную копию

Даже если сайт сейчас не открывается, сохраните файлы и базу данных. Если база доступна через phpMyAdmin, экспортируйте её перед правками.

Сохраните:

  • wp-config.php;
  • папку wp-content;
  • дамп базы данных;
  • логи хостинга;
  • текущую версию PHP и MySQL/MariaDB;
  • данные подключения к базе из панели хостинга.

2. Проверьте wp-config.php

Откройте файл wp-config.php в корне WordPress. В нём должны быть правильные данные подключения к базе.

Главные строки:

  • DB_NAME — имя базы данных;
  • DB_USER — пользователь базы;
  • DB_PASSWORD — пароль пользователя базы;
  • DB_HOST — адрес сервера базы данных;
  • DB_CHARSET — обычно utf8 или utf8mb4;
  • DB_COLLATE — часто оставляют пустым.

3. Сверьте данные с панелью хостинга

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

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

  • localhost;
  • 127.0.0.1;
  • mysql.example-host.com;
  • localhost:3306;
  • внутренний адрес MySQL-сервера хостинга.

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

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

Нужны права на чтение, запись и изменение таблиц. Для WordPress обычно требуются SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP и другие базовые права, которые хостинг выдаёт при полном доступе пользователя к базе.

5. Проверьте доступность MySQL/MariaDB

Если данные правильные, а ошибка остаётся, возможно, проблема на стороне сервера базы данных. Это особенно вероятно, если ошибка появляется не постоянно, а периодами.

Проверьте:

  • не перезапускается ли MySQL;
  • не превышен ли max_connections;
  • нет ли сильной нагрузки на базу;
  • не заполнен ли диск;
  • нет ли блокировки firewall;
  • не отключён ли удалённый доступ к базе, если база на отдельном сервере.

6. Проверьте повреждение базы

Если WordPress видит базу, но часть таблиц повреждена, может понадобиться repair. Делать это нужно аккуратно и только после backup.

Если сайт регулярно ломается после нагрузки, одной починки таблиц мало. Нужно искать причину: тяжёлые запросы, плохой плагин, WooCommerce-таблицы, крон, отчёты, импорт или слабый тариф хостинга.

7. Проверьте сайт после взлома

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

В такой ситуации полезно дополнительно проверить инструкцию как удалить вирус с сайта WordPress, потому что восстановить подключение к базе — это только часть задачи.

Код

Важно: примеры ниже влияют на подключение WordPress к базе данных. Ошибка в wp-config.php может полностью отключить сайт. Перед изменениями сделайте копию файла и backup базы.

Проверить данные подключения в wp-config.php

Куда смотреть: wp-config.php в корне сайта.

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

define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');

Проверить подключение к базе через MySQL CLI

Куда запускать: SSH. Замените значения на свои данные из wp-config.php.

mysql -u database_user -p -h database_host database_name

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

Проверить базу через WP-CLI

Куда запускать: SSH в корневой папке WordPress.

wp db check

Восстановить таблицы через WP-CLI

Куда запускать: SSH. Перед выполнением сделайте backup базы.

wp db repair

Включить встроенное восстановление базы WordPress

Куда вставлять: wp-config.php, перед строкой /* That’s all, stop editing! Happy publishing. */.

define('WP_ALLOW_REPAIR', true);

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

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

Важно: после завершения ремонта обязательно удалите строку WP_ALLOW_REPAIR из wp-config.php, потому что страница восстановления доступна без входа в админку.

Проверить таблицы WordPress в базе

Куда запускать: SSH через WP-CLI.

wp db tables

Проверить URL сайта в базе

Иногда после переноса ошибка базы сочетается с неправильными URL сайта.

wp option get siteurl
wp option get home

Включить debug.log

Куда вставлять: wp-config.php. Это поможет увидеть дополнительные ошибки PHP, но не всегда покажет саму причину недоступности MySQL.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Результат

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

Хороший результат выглядит так:

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

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

Дополнительные способы

Если ошибка появилась после переноса сайта

Проверьте, что база импортирована полностью, пользователь создан, пароль совпадает, DB_HOST правильный, а пользователь привязан к базе.

Частая ситуация: файлы перенесли, wp-config.php оставили старый, а база на новом сервере имеет другое имя. Внешне всё выглядит правильно, но WordPress подключается к несуществующей базе.

Если ошибка появляется только иногда

Периодическая ошибка подключения чаще связана не с паролем, а с нагрузкой. Возможные причины:

  • много одновременных запросов к MySQL;
  • тяжёлые запросы WooCommerce;
  • плохой плагин статистики или отчётов;
  • частые wp-cron задачи;
  • импорт товаров или записей;
  • боты активно сканируют сайт;
  • слабый тариф хостинга;
  • лимит max_user_connections.

В таких случаях нужно смотреть slow query log, нагрузку на MySQL, cron, плагины и кеширование. Простая замена пароля не решит проблему.

Если проблема только в админке

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

Проверьте /wp-admin, /wp-login.php, admin-ajax.php и серверные логи.

Если ошибка появилась после смены пароля базы

Откройте wp-config.php и обновите DB_PASSWORD. После этого очистите серверный кеш, если хостинг кеширует PHP-конфигурацию или использует OPcache.

Если база повреждена

Сначала сделайте экспорт базы. Затем используйте repair через WP-CLI, phpMyAdmin или встроенный инструмент WordPress. Если таблицы часто повреждаются снова, проверьте диск, MySQL-логи и стабильность сервера.

Если сайт на WooCommerce

Для WooCommerce база особенно важна: там находятся заказы, клиенты, товары, корзины, купоны и настройки оплаты. Не делайте грубые SQL-замены и не восстанавливайте старую базу без понимания, какие заказы могли появиться после даты backup.

Частые ошибки

Переустанавливать WordPress без проверки базы

Переустановка файлов не поможет, если проблема в DB_NAME, DB_USER, DB_PASSWORD, DB_HOST или сервере MySQL.

Менять wp-config.php без копии

Одна ошибка в кавычках, пробелах или имени базы может полностью отключить сайт.

Использовать root-пользователя базы

Для обычного сайта лучше использовать отдельного пользователя базы с доступом только к нужной базе. Это безопаснее и удобнее для диагностики.

Оставить WP_ALLOW_REPAIR включённым

Эту константу нужно удалить сразу после восстановления. Страница repair доступна без авторизации.

Восстанавливать старую базу поверх новой

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

Игнорировать логи хостинга

Если ошибка появляется периодически, без логов MySQL и сервера вы будете только угадывать. Нужны error_log, access_log, MySQL/MariaDB logs и информация по лимитам.

Диагностика проблем

Ошибка подключения к базе после переноса

  • Проверьте DB_NAME.
  • Проверьте DB_USER.
  • Проверьте DB_PASSWORD.
  • Проверьте DB_HOST.
  • Убедитесь, что база импортирована.
  • Убедитесь, что пользователь базы привязан к базе.
  • Проверьте префикс таблиц в wp-config.php.

Ошибка появляется периодически

  • Проверьте нагрузку на MySQL.
  • Проверьте max_connections и max_user_connections.
  • Проверьте slow query log.
  • Отключите тяжёлые отчёты, импорты и cron-задачи на время теста.
  • Проверьте активность ботов.
  • Обратитесь к хостингу за логами MySQL.

phpMyAdmin открывается, но сайт не работает

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

phpMyAdmin не открывается

  • Проверьте статус хостинга.
  • Проверьте, не превышен ли лимит тарифа.
  • Проверьте свободное место на диске.
  • Проверьте уведомления хостинга.
  • Обратитесь в поддержку хостинга.

Ошибка после взлома сайта

  • Проверьте wp-config.php.
  • Проверьте неизвестных пользователей базы и WordPress.
  • Проверьте права файлов.
  • Проверьте, не удалены ли таблицы.
  • Проверьте backup.
  • Проверьте сайт на вредоносный код.

Краткие AI-friendly ответы

Что значит ошибка подключения к базе данных WordPress?

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

Как быстро исправить ошибку подключения к базе WordPress?

Проверьте DB_NAME, DB_USER, DB_PASSWORD, DB_HOST в wp-config.php, убедитесь, что база существует, пользователь имеет права, MySQL работает, а хостинг не превышает лимиты.

Где находятся данные подключения к базе WordPress?

Данные подключения находятся в файле wp-config.php в корне сайта. Основные параметры: DB_NAME, DB_USER, DB_PASSWORD и DB_HOST.

Можно ли восстановить базу WordPress?

Да, если база повреждена, её можно попробовать восстановить через WP-CLI, phpMyAdmin или встроенный инструмент repair WordPress. Перед этим обязательно сделайте backup.

FAQ

Почему WordPress пишет «Ошибка подключения к базе данных»?

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

Что проверять первым?

Сначала проверьте wp-config.php: DB_NAME, DB_USER, DB_PASSWORD и DB_HOST. Затем проверьте, существует ли база в панели хостинга и есть ли у пользователя права.

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

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

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

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

Можно ли исправить ошибку через phpMyAdmin?

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

Что делать, если забыл пароль базы данных?

Создайте новый пароль для пользователя базы в панели хостинга или создайте нового пользователя базы, привяжите его к нужной базе и обновите DB_USER/DB_PASSWORD в wp-config.php.

Нужно ли удалять WordPress и устанавливать заново?

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

Может ли вирус вызвать ошибку подключения к базе?

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

Нужна помощь?

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

Вывод

Ошибка подключения к базе данных WordPress чаще всего решается через проверку wp-config.php, прав пользователя базы, доступности MySQL и состояния таблиц. Главное — не переустанавливать сайт вслепую. Сделайте backup, проверьте DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, протестируйте подключение, восстановите таблицы при необходимости и проверьте логи хостинга. Так можно вернуть сайт без потери данных и понять настоящую причину сбоя.

Об авторе

vkuzyomko administrator