Применимо к: все тарифы.
Ошибка «Error establishing a database connection» означает, что WordPress загрузился, но не смог подключиться к своей базе данных MySQL. В девяти случаях из десяти причина — неверные данные базы в вашем файле wp-config.php, пользователь базы, потерявший права доступа, или повреждённая таблица базы данных. В этом руководстве мы покажем, как проверить каждую из причин в cPanel.
С самими страницами всё в порядке — нарушена только связь между WordPress и его базой данных. Ваши файлы и база данных почти наверняка по-прежнему на месте.
Признаки
- Каждая страница сайта показывает белый экран с сообщением «Error establishing a database connection», часто без чего-либо ещё.
- Админка WordPress (/wp-admin) показывает ту же ошибку или предлагает восстановить базу данных.
- Ошибка появилась внезапно после редактирования wp-config.php, переноса сайта или смены пароля базы данных.
Частые причины (от самой вероятной)
- Неверные учётные данные в wp-config.php — имя базы, пользователь, пароль или хост больше не совпадают с тем, что есть в cPanel. Это, безусловно, самая частая причина, особенно после переноса или сброса пароля.
- У пользователя базы нет прав на эту базу — пользователь существует, но больше не привязан к базе с полными правами.
- Повреждённая таблица базы данных — таблица была повреждена (часто после скачка нагрузки), и MySQL не может её обслужить.
- Аккаунт превысил лимиты ресурсов — при высокой нагрузке подключения к MySQL могут на короткое время отклоняться. Обычно это проходит само; см. похожую статью об ошибках 508.
Быстрые решения
1. Проверьте учётные данные в wp-config.php
- Войдите в cPanel (откройте свою услугу в личном кабинете -> Services -> My Services, затем Log in to cPanel).
- Откройте cPanel -> Files -> File Manager и перейдите в папку вашего сайта (для основного домена это обычно public_html).
- Найдите wp-config.php, выделите его и выберите Edit. Запишите эти четыре значения:
define( 'DB_NAME', '...' );define( 'DB_USER', '...' );define( 'DB_PASSWORD', '...' );-
define( 'DB_HOST', '...' );— на наших серверах здесь должно бытьlocalhost.
- Во второй вкладке откройте cPanel -> Databases -> MySQL Databases. Убедитесь, что существует база с точным значением DB_NAME и пользователь с точным значением DB_USER. Имена базы и пользователя включают префикс вашего аккаунта cPanel (например,
acct_wp), поэтому копируйте их аккуратно. - Если вы не уверены в пароле, задайте новый: в MySQL Databases найдите пользователя в разделе Current Users, выберите Change Password, задайте новый пароль, затем вставьте этот точный пароль в DB_PASSWORD в wp-config.php и сохраните.
Результат: когда четыре значения в wp-config.php совпадают с реальной базой и пользователем в cPanel, перезагрузите сайт. Ошибка должна исчезнуть.
2. Убедитесь, что пользователь привязан с полными правами
- В cPanel -> Databases -> MySQL Databases прокрутите до раздела Add User To Database.
- Выберите ваш DB_USER и вашу DB_NAME и нажмите Add.
- На экране прав отметьте ALL PRIVILEGES, затем Make Changes.
Результат: теперь пользователь может читать и записывать данные в базу. Перезагрузите сайт, чтобы проверить.
3. Восстановите повреждённую базу данных
- Откройте cPanel -> Databases -> phpMyAdmin и выберите свою базу в списке слева.
- Отметьте флажок для выбора всех таблиц, затем в выпадающем списке With selected внизу выберите Repair table.
- Перезагрузите сайт.
Можно также дать WordPress попробовать восстановить базу самостоятельно: временно добавьте define( 'WP_ALLOW_REPAIR', true ); в wp-config.php, откройте https://yourdomain/wp-admin/maint/repair.php, выполните восстановление, затем снова удалите эту строку.
Если это не помогло
- Проверьте учётные данные напрямую. Если phpMyAdmin не открывает вашу базу с DB_USER и паролем из wp-config.php, значит данные всё ещё неверны — повторите шаг 1.
- Восстановите базу из резервной копии. Если таблица повреждена настолько, что её нельзя восстановить, восстановите свежую копию через JetBackup. См. Как восстановить базу данных.
- Исключите скачок нагрузки. Если ошибка то появляется, то исчезает при наплыве трафика, проверьте потребление ресурсов — см. Достигнут лимит ресурсов и ошибки 508.
- Примечание о почте: база данных WordPress не имеет отношения к почте. Мы не размещаем почтовые ящики на хостинг-сервере, поэтому эта ошибка никогда не затрагивает вашу почту Microsoft 365 или Google Workspace.
Комментарии
0 комментариев
Войдите в службу, чтобы оставить комментарий.