Краткий ответ
Эта ошибка означает, что WordPress не может подключиться к базе данных MySQL и поэтому не может загрузить сайт. Чаще всего виноваты неверные данные в `wp-config.php`, недоступный сервер MySQL или удалённый пользователь базы. Сначала проверьте данные подключения и только потом исправляйте таблицы.
Как проявляется проблема
- Сайт показывает сообщение «Error establishing a database connection» или «Ошибка при подключении к базе данных»
- Вы не можете войти в `/wp-admin`, отображается та же ошибка
- Сайт работал вчера, а теперь полностью недоступен
- Ошибка появилась после смены пароля или переноса сайта на другой хостинг
Частые причины
Неверные данные в wp-config.php
Имя базы, пользователь, пароль или хост изменены или записаны с ошибкой. WordPress не может войти на сервер MySQL.
Сервер MySQL недоступен
Сервер базы данных упал, был перезагружен или достиг лимита подключений. В этом случае ошибка затрагивает все сайты на одном хостинге.
Пользователь базы удалён или изменён пароль
Кто-то в панели хостинга удалил пользователя, снял привилегии или сменил пароль, а `wp-config.php` не обновлён.
Повреждённая или неполная база
Прерванный импорт, сбой диска или неудачное резервное копирование могут оставить базу в состоянии, в котором WordPress не может подключиться.
Неверный хост или порт
После переноса на другой сервер остаётся старый `DB_HOST`, например `localhost` вместо имени сервера, которое требует хостинг.
Пошаговое решение
- 1
Запишите точное сообщение об ошибке
Откройте сайт и перепишите всё сообщение, включая возможный код ошибки. Если видно только общее сообщение, сохраните копию
wp-config.php, затем временно включите показ ошибок строкамиdefine('WP_DEBUG', true);иdefine('WP_DEBUG_DISPLAY', true);. Делайте это только ненадолго и не на публичном сайте, так как сообщения могут увидеть посетители; после обязательно отключите. Точный текст сильно сужает причину. - 2
Проверьте, работает ли сервер MySQL
В панели хостинга (cPanel, Plesk или аналогичной) или на странице статуса хостинга проверьте, доступна ли служба MySQL и не достигнут ли лимит ресурсов. Если сервер упал или достигнут лимит подключений, дождитесь восстановления или обратитесь в поддержку хостинга. Если другие сайты на том же хостинге работают, проблема, вероятно, в вашей базе.
- 3
Откройте wp-config.php и проверьте данные
Через FTP-клиент или файловый менеджер в панели откройте
wp-config.phpв корне сайта. Сравните значенияDB_NAME,DB_USER,DB_PASSWORDиDB_HOSTс данными в панели хостинга. Обратите внимание на пробелы, регистр букв и на то, заключён ли пароль в кавычки. - 4
Проверьте пользователя базы и привилегии
В панели хостинга откройте раздел баз данных MySQL и пользователей. Убедитесь, что пользователь из
wp-config.phpсуществует, назначен именно этой базе и имеет все привилегии. Если нет, назначьте его снова или сбросьте пароль и запишите новый вwp-config.php. - 5
Проверьте DB_HOST и порт
Если хостинг использует отдельный сервер базы данных,
DB_HOSTнеlocalhost, а имя или IP-адрес, который вам дал хостинг, иногда с портом в видеимя_сервера:3306. Найдите точное значение в документации хостинга или в панели и запишите его вwp-config.php. - 6
Сделайте резервную копию перед дальнейшими изменениями
Прежде чем трогать базу, скачайте копию файлов и экспортируйте базу через phpMyAdmin или инструменты хостинга. Сохраните и копию
wp-config.php. Так вы сможете вернуться к предыдущему состоянию, если что-то пойдёт не так. - 7
Проверьте, существуют ли база и таблицы
В phpMyAdmin проверьте, существует ли база с именем из
wp-config.phpи содержит ли она таблицы с префиксом, соответствующим$table_prefix. Если таблицы пусты или отсутствуют, база, вероятно, удалена или импорт был неудачным. - 8
Исправьте таблицы, если они повреждены
В phpMyAdmin выделите таблицы и выберите опцию исправления (
Repair table). Если исправление не помогает, восстановите базу из последней резервной копии. После восстановления снова проверьте данные вwp-config.php. - 9
Проверьте сайт и отключите отладку
Откройте сайт и
/wp-adminв окне браузера в режиме инкогнито. Если сайт загружается, удалите строкиWP_DEBUGиWP_DEBUG_DISPLAYили установите их вfalse. Если ошибка остаётся, вернитесь к шагу проверки пользователя и хоста.
Если ничего не помогает
Если данные в wp-config.php верны, пользователь и привилегии в порядке, а база существует, проблема, скорее всего, на стороне сервера. В этом случае создайте тикет в поддержке хостинга и укажите точное сообщение об ошибке, время её появления и меняли ли вы что-то непосредственно перед этим. Если база повреждена, хостинг может восстановить последнюю резервную копию, но вы потеряете содержимое, созданное после неё. Для сайтов на WooCommerce также проверьте, не достигла ли база лимита размера или количества подключений, так как тогда ошибка начинает появляться периодически, а затем постоянно.
Как избежать повторения
- Регулярно делайте автоматические резервные копии базы и файлов и проверяйте, что они успешно восстанавливаются
- Не меняйте пароль пользователя базы без одновременного изменения в `wp-config.php`
- Ведите записи данных базы перед каждым переносом сайта
- Следите за использованием ресурсов MySQL и количеством подключений в панели хостинга
Когда лучше обратиться к специалисту
Если вы не можете войти в панель хостинга, не знаете точных данных базы или база повреждена, лучше обратиться в IT-поддержку, чем самостоятельно менять таблицы и рисковать потерей данных.
Создание сайтов · Быстрые, SEO-оптимизированные многоязычные сайтыЧастые вопросы
Означает ли ошибка базы, что сайт потерян навсегда?
Нет. В большинстве случаев сайт и содержимое целы, просто WordPress не может подключиться к базе. Если данные в `wp-config.php` и пользователь базы совпадают, сайт восстанавливается без потери содержимого.
Как понять, проблема в моей базе или на сервере?
Если другие сайты на том же хостинге работают, проблема в вашей базе или данных доступа. Если не работают и они, вероятно, упал сервер MySQL, и здесь поможет только поддержка хостинга.
Можно ли исправить базу без phpMyAdmin?
Можно, если хостинг предлагает инструмент исправления базы в панели или если у вас есть доступ к командной строке. Без этого безопаснее восстановить базу из резервной копии или попросить хостинг сделать это.