Error establishing a database connection: частая ошибка новичков и головная боль хостера, разбираемся в проблеме
что делать, как исправить, что это значит на русский язык, после бэкапа, на локальном сервере, ошибка, с английского, исправление, устранить, проблема, сервер, fix
Чтобы починить сайт, разработал систему из нескольких шагов по восстановлению связи между двумя составляющими.
- Перевод на русский язык Error establishing a database connection и почему она возникает
- Проверка синхронизации базы данных и CMS в wp-config
- Запуск восстановления
- Что делать после восстановления – сравнение префиксов
- Как исправить через восстановление MySQL
- Появление error establishing a database connection после установки плагинов
- Backup файлов и базы данных
- Как устранить если ничего не помогло
Перевод на русский язык Error establishing a database connection и почему она возникает
Если перевести фразу с английского на русский язык, то получим текст – Ошибка установки соединения с базой данных. Думаю из перевода понятно, что ядро WordPress не может установить связь с базой данных из–за сбоя или в результате действий администратора. Что означает и чему причина появление данной проблемы:
- Открыли файл wp-config.php, нарушили комбинацию логина и пароля подключения. Самая распространенная ошибка, новички любят смотреть и менять файлы движка
- Установка нового плагина. Обычно относится к тем, которые меняют текстовую часть сайта — записи, комментарии, то есть элементы содержащиеся в базе данных MySQL
- Работы на сервере, редко, но могут выявить ошибку Error establishing a database connection. В основном это аварийные изменения
- Переход на другой хостинг. Специалисты хостинга при переносе не проверили работу сайта и отдали вам не работающий ресурс. Проблема редкая, но имеет место, потому существует человеческий фактор
- Много посетителей или DDoS атака. Каждый хостинг заботится о клиентах, предупреждает такие ситуации, но если наплыв большой, то сервер может упасть
- Разрыв связи после бэкапа, ошибка возникающая из-за выбора не правильного времени восстановления файлов и DB. Есть универсальный метод, описанный далее
Проверка синхронизации базы данных и CMS в wp-config
Необходимо посмотреть правильность данных для синхронизации файлов CMS WordPress и базы данных. Разберем на примере хостинга Beget. Подключимся к сайту с помощью FTP, как это делать есть в статье про установку темы.
Вошли в корневую папку сайта там где каталоги wp-admin и wp-content. Ищем файл wp-config.php, открываем его с помощью правой кнопки мыши, выбираем Просмотр/Правка.
Откроется программа для редактирования документов. Запомним несколько строк, а именно:
- DB_NAME имя базы в нашем случае valent5k_wp3
- DB_USER пользователь, так же valent5k_wp3
- DB_PASSWORD пароль от подключения
- DB_HOST адрес сервера или хоста, по умолчанию localhost, но бывает и другие значения
Переходим к панели Бегета, сравниваем данные. Почему то разработчики панели управления хостинга Beget не предусмотрели просмотр старого пароля от вашей базы данных, поэтому нам нужно сравнить оставшиеся три параметра и обновить четвертый.
Если эти три параметра совпадают с прописанными из wp–config, то двигаемся дальше, если нет то перезаписываем, в wp-config, на то что указано в панели Бегета. Теперь нажимаем на значок с двумя точками.
Вписываем пароль из wp-config в поле DB_PASSWORD, у нас juzPo7HP6 и нажимаем Изменить.
Теперь смотрим на сайт и смотрим все ли работает. План действий такой:
- Открываем wp-config
- Копируем конфигурацию подключения
- Сверяем или обновляем доступы к базе данных на хостинге
Такая схема работает и с нарушениями на локальном сервере типа Open server, XAMPP, Laragon и им подобные. Для более наглядного представления процесса записал свое видео.
Запуск восстановления
Существует аварийный запуск (fix) восстановления контакта SQL и файлов стандартными средствами WordPress . По знакомой схеме открываем файл wp-config, в конец вставляем код.
define('WP_ALLOW_REPAIR', true);
Не забываем сохранять изменения и закачивать обратно на хостинг через FileZilla.
Переходим по адресу site.ru/wp-admin/maint/repair.php где взамен site.ru доменное имя. Откроется страница на которой нажимаем Починить поврежденную базу данных.
Начнется процесс, если он удачно закончился и error establishing a database connection пропала, то появится страница с успешными восстановленными таблицами, и с предупреждениями, что нужно удалить код вносимый ранее для запуска восстановления.
Обязательно удалите строчку, сохраните и перезапишите файл wp-config, иначе любой хакер получает полный доступ к файлам ядра WordPress.
Что делать после восстановления – сравнение префиксов
Сравнение префиксов таблиц необходимо делать, чтобы перейти к следующему шагу расследования ошибки error establishing a database connection. Заходим в FileZilla опять в файл wp-config, и смотрим на строчку table_prefix.
Запоминаем и идем в PhpMyAdmin на хостинге, как туда заходить уже знаем. В списке баз находим соответствующую сайту, нажимаем значок для перехода в MySQL.
Далее смотрим на префиксы таблиц, если они совпадают, то проблема не в этом идем дальше.
Но если они различаются значит, пошел сбой, в данном случае обратитесь в службу поддержки хостинга, обычно это проблема на их стороне.
Как исправить через восстановление MySQL
В 90% случаев исправить SQL не даст результата, но попробовать стоит. Заходим в PHPMyAdmin. Отмечаем чекбоксы напротив всех таблиц, внизу выбираем из выпадающего списка Восстановить таблицу.
Начнется процесс восстановления, способ может помочь, но в далеко не всех случаях, ищите проблему в других местах.
Появление error establishing a database connection после установки плагинов
Если блог на WordPress заклинило после установки плагина и появилась надпись error establishing a database connection, то нужно удалить его, но как если войти в админку нет возможности? Ответ прост, идем в FileZilla и удаляем. Путь до папки с плагинами wp-content > plugins.
Находим, дающий ошибки плагин, и переименовываем. Если не знаем какой, то изменяем название по одному, смотрим на работоспособность сайта, обязательно обновляем Ctrl+F5.
Backup файлов и базы данных
Любой хороший хостер заботится о резервных копиях сайтов клиентов. Хорошо если ошибка технического характера обнаружилась сразу, а не через несколько дней. То есть мы можем восстановить состояние ресурса на тот момент, когда он работал.
Единственный минус, что все изменения внесенные после даты восстановления сотрутся и придется проделывать действия заново. Заходим в BackUp в панели хостинга.
Сначала переходим в файловый архив, отмечаем папку сайта и выбираем дату когда он работал нормально и нажимаем синюю стрелочку.
Переходим в раздел Базы данных, отмечаем соответствующую сайту, так же выбираем дату и жмем синюю стрелочку.
По окончании процессов, сайт должен заработать, если нет, то переходим к следующему крайнему методу.
Как устранить если ничего не помогло
Если устранить не получатся и сайт не работает прошу обратиться в службу поддержки хостинга, или к специалистам, с подробным описанием проблемы. Обычно для решения такой задачи требуется не больше 30 минут.
На крайний случай обратитесь к нам за помощью, что будет в наших силах сделаем. Я разобрал максимум решений ошибки Error establishing a database connection и решений, если есть дополнения, то жду в комментарии. Успехов.
Пожалуйста, оцените материал:
Не помогает! Возможно проблемы или работы на хостинге ведутся, тогда тоже может данная ошибка возникнуть!
Тогда да пишите в поддержку хостинга.
У меня была подобная ошибка. Мучался постоянно! Приходилось перезагружать сервер даже. В итоге оказалось, что возникает она из-за недостатка свободного места на диске (бэкапы слишком часто создавались и занимали все свободное место). Так что проверяйте и этот вариант, если с базами данным все в порядке, а ошибка осталась.
Спасибо, многим думаю будет полезно.
Здравствуйте, огромное спасибо за статью.
Думал придется заново делать.