Error establishing a database connection open server

Ошибка MySQL

performans

Сообщения: 5
Зарегистрирован: 29 июл 2014, 15:09

Ошибка MySQL

Здрасти.
На днях подумал оптимизировать запуск-отклик сервера, переместил OpenServer на RamDisk, по идее должен был ускорить работу WordPress.
Сперва все было супер, любой запрос обрабатывался моментально. Потом создал еще один RamDisk 4 GB с сохранением содержимого в img файл.
Скопировал папку OpenServer на новое место, и вот тут начался геморрой.
Что только не пробовал. Запускаю от имени Админа. Отключаю фаерволл.
Пишет Error establishing a database connection
Логи MySQL без ошибок, Apache также.
Проверил конфиг файлы вижу все новые пути прописаны, портабельность есть.
PhpMyAdmin, MySQL менеджер без проблем подключаются к базе.
Изменил доступ в конфиг файле WordPress на Login: mysql, Pass: mysql — та же ошибка.
Так в чем может быть проблема?
Буду благодарен за любые ответы.

performans

Сообщения: 5
Зарегистрирован: 29 июл 2014, 15:09

Непрочитанное сообщение

performans » 30 июл 2014, 00:00

Максим писал(а):Проблема видимо в неправильном хосте БД, указанном вами в настройках подключения.

Пока что я не трогал настройки, и вообще ничего не изменял. Только скопировал общую папку OpenServer. Где эти настройки указываются?

Аватара пользователя

Максим

Сообщения: 5993
Зарегистрирован: 11 дек 2010, 20:29

Непрочитанное сообщение

Максим » 30 июл 2014, 00:06

performans, вы это у меня спрашиваете? :D Откуда мне знать где у вас хранятся настройки подключения к базе. Я этого знать не знаю, это ваша забота, читайте документацию к WordPress или тому ПО, которое вы используете.

performans

Сообщения: 5
Зарегистрирован: 29 июл 2014, 15:09

Непрочитанное сообщение

performans » 30 июл 2014, 00:29

Дело даже не в WordPress, я установил заново при подключении выдает эту ошибку. Пробовал с Джумла, тоже самое.
Мне кажется где то в реестре или в профиле остается общий путь к базе, скорее всего так и есть. Но в системе не установлено MySQL локально, чтобы возникали конфликты переменного окружения.
И еще заметил в Process Explorer иконка процесса mysqld.exe показывает по умолчанию, а httpd.exe видно своя иконка перо.
Возможно ли что родительский процесс OpenServer не может запустить mysqld.exe с админ правами?

Аватара пользователя

Максим

Сообщения: 5993
Зарегистрирован: 11 дек 2010, 20:29

Непрочитанное сообщение

Максим » 30 июл 2014, 00:39

Причём тут реестр, перо и права доступа… Какой домен вы указываете в качестве хоста (адреса) mysql сервера? И есть ли этот домен в меню доменов Open Server после запуска сервера?

performans

Сообщения: 5
Зарегистрирован: 29 июл 2014, 15:09

Непрочитанное сообщение

performans » 30 июл 2014, 00:42

Домены я не указывал, алиасы не создавал. Программа запускается по умолчанию как обычно. Адрес localhost/mysite/

performans

Сообщения: 5
Зарегистрирован: 29 июл 2014, 15:09

Непрочитанное сообщение

performans » 30 июл 2014, 01:13

Все заработало! Оказалось фаервол Comodo изолировал процесс mysqld.exe в песочнице. Хотя я добавлял пару раз в зону доверенных программ. Видимо политика сработала после изменения пути, буква диска.
Извиняюсь за свои бессмысленные вопросы.
Спасибо вам.

что делать, как исправить, что это значит на русский язык, после бэкапа, на локальном сервере, ошибка, с английского, исправление, устранить, проблема, сервер, fix

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

Содержание

  1. Перевод на русский язык Error establishing a database connection и почему она возникает
  2. Проверка синхронизации базы данных и CMS в wp-config
  3. Запуск восстановления
  4. Что делать после восстановления – сравнение префиксов
  5. Как исправить через восстановление MySQL
  6. Появление error establishing a database connection после установки плагинов
  7. Backup файлов и базы данных
  8. Как устранить если ничего не помогло

Если перевести фразу с английского на русский язык, то получим текст – Ошибка установки соединения с базой данных. Думаю из перевода понятно, что ядро 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, открываем его с помощью правой кнопки мыши, выбираем Просмотр/Правка.

Инструмент правки в файлзилле
Просмотр/Правка wp-config

Откроется программа для редактирования документов. Запомним несколько строк, а именно:

подключение DB в документе конфигурации
Строки в wp-config
  1. DB_NAME имя базы в нашем случае valent5k_wp3
  2. DB_USER пользователь, так же valent5k_wp3
  3. DB_PASSWORD пароль от подключения
  4. 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);
Куда прописывать вызов восcтановления DB
Код восстановления WP

Не забываем сохранять изменения и закачивать обратно на хостинг через FileZilla.

Переходим по адресу site.ru/wp-admin/maint/repair.php где взамен site.ru доменное имя. Откроется страница на которой нажимаем Починить поврежденную базу данных.

Нажимаем починить
Кнопка Починить

Начнется процесс, если он удачно закончился и error establishing a database connection пропала, то появится страница с успешными восстановленными таблицами, и с предупреждениями, что нужно удалить код вносимый ранее для запуска восстановления.

Обработка и восстановление database
Результат работы

Обязательно удалите строчку, сохраните и перезапишите файл wp-config, иначе любой хакер получает полный доступ к файлам ядра WordPress.

Что делать после восстановления – сравнение префиксов

Сравнение префиксов таблиц необходимо делать, чтобы перейти к следующему шагу расследования ошибки error establishing a database connection. Заходим в FileZilla опять в файл wp-config, и смотрим на строчку table_prefix.

Префикс баз в WP
Префикс в вордпрессе

Запоминаем и идем в PhpMyAdmin на хостинге, как туда заходить уже знаем. В списке баз находим соответствующую сайту, нажимаем значок для перехода в MySQL.

Загрузка панели PhpMyAdmin
Переход в PhpMyAdmin

Далее смотрим на префиксы таблиц, если они совпадают, то проблема не в этом идем дальше.

Проверка
Префикс в SQL

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

Как исправить через восстановление MySQL

В 90% случаев исправить SQL не даст результата, но попробовать стоит. Заходим в PHPMyAdmin. Отмечаем чекбоксы напротив всех таблиц, внизу выбираем из выпадающего списка Восстановить таблицу.

Восстановление БД

Восстановление DB через интерфейс MySQL

Начнется процесс восстановления, способ может помочь, но в далеко не всех случаях, ищите проблему в других местах.

Появление error establishing a database connection после установки плагинов

Если блог на WordPress заклинило после установки плагина и появилась надпись error establishing a database connection, то нужно удалить его, но как если войти в админку нет возможности? Ответ прост, идем в FileZilla и удаляем. Путь до папки с плагинами wp-content > plugins.

Расположение плагинов в ядре WP
Папка с плагинами

Находим, дающий ошибки плагин, и переименовываем. Если не знаем какой, то изменяем название по одному, смотрим на работоспособность сайта, обязательно обновляем Ctrl+F5.

Backup файлов и базы данных

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

Единственный минус, что все изменения внесенные после даты восстановления сотрутся и придется проделывать действия заново. Заходим в BackUp в панели хостинга.

BackUp на хостинге
Раздел бэкапа

Сначала переходим в файловый архив, отмечаем папку сайта и выбираем дату когда он работал нормально и нажимаем синюю стрелочку.

Загрузка старой версии
восстановление файлов WP

Переходим в раздел Базы данных, отмечаем соответствующую сайту, так же выбираем дату и жмем синюю стрелочку.

BackUp БД
Бекап БД

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

Как устранить если ничего не помогло

Если устранить не получатся и сайт не работает прошу обратиться в службу поддержки хостинга, или к специалистам, с подробным описанием проблемы. Обычно для решения такой задачи требуется не больше 30 минут.

На крайний случай обратитесь к нам за помощью, что будет в наших силах сделаем. Я разобрал максимум решений ошибки Error establishing a database connection и решений, если есть дополнения, то жду в комментарии. Успехов.

Пожалуйста, оцените материал:

Это – один из худших кошмаров для владельца веб-сайтов. Вы вводите URL-адрес вашего сайта… однако вас приветствует не ваша главная страница, а нечто другое. Вместо этого вы видите пустой экран. Вне зависимости от того, по какой ссылке вы перешли, вас встречают зловещие слова «Error establishing a database connection».

error-establishing

Чем дольше ваш сайт будет лежать, тем больше трафика вы потеряете. А это означает потерянных подписчиков, клиентов, а также упущенный доход. Однако что вообще привело к такой ошибке? Что она означает? И, что самое важное, как исправить ее, чтобы вернуть свой сайт в нормальное состояние как можно быстрее?

В этой статье мы расскажем вам, что означает это сообщение об ошибке, что может вызывать его, а также посмотрим, как найти корень зла и исправить его.

Содержание

  1. Что означает «Error Establishing a Database Connection»?
  2. Что приводит к этой ошибке?
  3. Решение проблем с «Error Establishing a Database Connection»
  4. 1. Определяем, с чем произошла ошибка.
  5. 2. Проверяем учетные данные БД в wp-config
  6. 3.Все еще появляется ошибка?

Что означает «Error Establishing a Database Connection»?

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

В целом, всякий раз, когда страница загружается на вашем сайте, она создается «на лету». Код PHP используется для того, чтобы получить доступ к базе данных MySQL и получить всю информацию, которая требуется для создания страницы. Одни PHP-запросы получают заголовок записи, другие – захватывают имя автора, третьи – берут дату публикации и т.д.

Вернемся к нашему сообщению об ошибке: «Error establishing a database connection». Оно означает, что по каким-то причинам PHP-код не смог соединиться с базой данной MySQL, чтобы получить информацию, которая требовалась для создания страницы.

Именно по этой причине на экране с ошибкой красуется лишь одно сообщение. Если вы не можете подключиться к базе данных, вы не знаете, что выводить на экран; нет никакой доступной информации о вашем сайте.

Что приводит к этой ошибке?

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

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

  1. Ваши учетные данные для входа в БД являются неверными. Ваша база данных использует отдельный логин и пароль. Если эти данные были недавно изменены, ваш сайт не сможет подключиться к БД, используя старые учетные данные.
  2. Ваша база данных была повреждена. Привести к такому печальному исходу могут самые разные причины, начиная с установки некачественного плагина и заканчивая ударом молнии в сервер (правда, это не самый распространенный вариант).
  3. Сервер, на котором расположена ваша БД, в данный момент не работает. Сервер с вашей базой данных может выйти из строя из-за каких-либо проблем или ошибок на стороне хостинг-компании. Также он может «лежать» из-за того, что на ваш сайт обрушился большой поток трафика, который сервер просто не смог обработать.

Таким образом, учитывая все возможные ситуации, как мы можем справиться с возникшей проблемой?

Решение проблем с «Error Establishing a Database Connection»

1. Определяем, с чем произошла ошибка.

Появляется ли эта ошибка только при обращении к wp-admin или же ваш сайт полностью лежит? А может, у вас другая ситуация: ваш сайт не работает, но при попытке входа вы видите несколько иную ошибку: «One or more database tables are unavailable. The database may need to be repaired»?

Все это говорит о том, что ваша база данных была повреждена.

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

Вы можете найти wp-config в корневой папке вашей сборки WordPress. Получить к ней доступ можно через cPanel: выберите File Manager и перейдите к папке, в которой у вас установлен WordPress.

Как только вы откроете wp-config, добавьте к нему следующую строку в самый конец файла:

define( 'WP_ALLOW_REPAIR', true );

Эта строка позволит вам оптимизировать и восстановить вашу базу данных. Перейдите по ссылке: www.yourwebsite.com/wp-admin/maint/repair.php (вместо yourwebsite.com введите реальный URL-адрес).

wordpress-database-repair

Вы должны увидеть страницу, показанную выше, с двумя возможностями восстановления – «repair» и «repair and optimize». Учтите, что оптимизация займет дополнительное время.

Обратите внимание, что страница восстановления базы данных никак не защищена; любой может получить доступ к этой странице по одному лишь URL. Как только вы восстановите вашу базу данных, обязательно удалите строку, добавленную ранее, из файла wp-config. В итоге вы ограничите доступ к этой странице.

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

Если все это вам не помогло, давайте перейдем ко второму этапу восстановления сайта.

2. Проверяем учетные данные БД в wp-config

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

Удивлены, каким образом ваши учетные данные, работавшие ранее, перестали это делать? Смена хостинг-компании, изменение имени БД или пользовательской информации может привести к тому, что ваш wp-config файл будет содержать старые данные.

У вас может быть по-прежнему открыт файл wp-config, оставшийся еще с прошлого шага. В противном случайте войдите в cPanel хостинга и откройте File Manager. Перейдите к папке, в которую вы устанавливали WordPress, и найдите в ней файл, названный wp-config.php. Откройте его для редактирования.

Вы увидите учетные данные для вашей базы данных – обычно они расположены в самом верху файла. Выглядят они обычно следующим образом:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
 
/** MySQL database username */
define( 'DB_USER', 'username_here' );
 
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );
 
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Как вы можете видеть, здесь есть несколько информационных разделов, которые требуются WordPress для доступа к вашей БД:

  1. Название БД (DB_NAME)
  2. Логин для входа (DB_USER)
  3. Пароль для входа (DB_PASSWORD)
  4. Хост базы данных (DB_HOST)

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

Проверить базу данных вне WordPress можно при помощи PHPMyAdmin – инструмента, который используется для редактирования базы данных MySQL. PHPMyAdmin включен во многие тарифные планы хостингов, и вы можете найти его в консоли cPanel.

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

Как только вы войдете в PHPMyAdmin, вы увидите список баз данных на вашем сервере. Щелкните по той из них, которая будет соответствовать названию БД в файле wp-config (значение DB_NAME).

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

После щелчка по названию базы данных вы увидите основной экран, содержащий названия таблиц вашей БД. Чтобы убедиться в том, что это – корректная БД, вы можете найти таблицу под названием wp_options и щелкнуть по опции Browse рядом с ней. Вы должны увидеть название вашего сайта, URL, а также все основные настройки. Теперь вы знаете, ту ли базу данных вы открыли. Если нет, то настройте ее должным образом в wp-config.

Давайте теперь проверим логин и пароль.

Есть несколько способов проверить их. Я предложу вам два варианта.

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

Вариант 1. Тестируем существующие учетные данные.

Создаем файл в каталоге WordPress – пусть он называется testconnection.php (название не важно, главное чтобы он имел расширение .php). Вставляем в него следующий код:

<?php
$testConnection = mysql_connect('localhost', 'root', 'password');
if (!$testConnection) {
die('Error: ' . mysql_error());
}
echo 'Database connection working!';
mysql_close($testConnection);
?>

Как только вы создадите этот файл, просто перейдите по соответствующему URL в браузере (к примеру, site.com/testconnection.php). Вы увидите либо сообщение об удачном соединении, либо ошибку с детальной информацией.

Если логин и пароль не работают, мы можем создать нового пользователя.

Вариант 2. Создаем нового пользователя для БД (новый логин и пароль).

Сделать это мы можем с помощью другого инструмента в cPanel, который называется MySQL® Databases. Переходим к нему, затем прокручиваем вниз до заголовка: MySQL Users: Add New User. Задаем имя пользователя, а также сложный пароль. Щелкаем — Create User. Теперь прокручиваем до заголовка Add User To Database, и выбираем ваше новое имя пользователя и вашу базу данных WordPress, после чего щелкаем по Add. Обновляем файл wp-config, введя в него ваше новое имя пользователя и пароль.

Теперь название вашей БД, имя пользователя и пароль являются корректными. Остался только DB_HOST.

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

3.Все еще появляется ошибка?

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

Источник: www.elegantthemes.com/blog

Когда сайт перестает работать — это неприятно, особенно если это происходит само по себе не по нашей вине.

Вы заходите на сайт и получаете такую ошибку:

Error establishing a database connection

Ошибка соединения с базой данных Вордпресс — одна из общих ошибок, которую можно легко решить.

В этой статье пошаговая инструкция для исправления этой ошибки.

Содержание:

Суть проблемы

  • Шаг 1. Свяжитесь с тех.поддержкой хостинга
  • Шаг 2. Проверьте, что файлы тем и плагинов не повреждены
  • Шаг 3. Проверьте, что база данных не повреждена
  • Шаг 4. Проверьте логин и пароль для подключения к Базе Данных
  • Шаг 5. Восстановите стандартные файлы Вордпресс

Как избежать этой ошибки в будущем

Суть проблемы

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

Вордпресс использует две основные технологии для отображения содержимого сайта: PHP и MySQL.

  • PHP используется для расположения информации на странице (вместе с html и css),
  • MySQL используется для хранения и выдачи информации по запросу.

Вордпресс с помощью PHP команд подключается к базе данных MySQL, получает запрашиваемую информацию и размещает ее на странице.

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

Причины могут быть разные, но основные причины такие:

  • Неверные данные для подключения к базе данных. Вордпрессу нужны логин и пароль для подключения к базе данных. Если по какой-то причине они изменились, то Вордпресс не может получить данные из базы данных.
  • Поврежденные файлы Вордпресс. Обычно это случается в результате неудачного обновления тем, плагинов или ядра Вордпресс.
  • Поврежденная база данных. Это может случиться из-за установки плохого плагина, хакерской атаки, сбоя темы и по многим другим причинам.
  • Проблема с сервером базы данных. Иногда база данных и файлы сайта могут находиться на разных серверах. По каким-то причинам сервер базы данных может лечь.
  • Слишком много трафика. Хотя это хорошая проблема, но это все таки проблема. Например, вы опубликовали хороший контент, и он стал вирусным. На сайте произошел пик посещаемости, и сервер не может обработать часть запросов.

Как исправить ошибку установления соединения с базой данных

Обычно причина этой проблемы связана с самой базой данных, поэтому самое простое и быстрое решение проблемы — написать сообщение в тех.поддержку хостинга.

Шаг 1. Свяжитесь с тех.поддержкой хостинга

Если ваш сайт работал минуту назад (или день назад), а теперь не работает, то скорее всего это ошибка на стороне хостинга.

Свяжитесь с тех.поддержкой, скажите, что получили ошибку “error establishing a database connection”.

Спросите, работает ли база данных (или сервер базы данных), и спросите, не было ли пика нагрузки на сервере.

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

Как минимум, они скажут вам, что база данных в порядке и на сервере нет (или есть) какая-то подозрительная активность.

Если причина не на их стороне, то есть сервер работает и на нем нет пика трафика, и они не могут вам помочь, то переходите к шагу 2.

Шаг 2. Проверьте, что файлы тем и плагинов не повреждены

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

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

Если было что-то из этого, то скорее всего в этом причина ошибки соединения с базой данных. Если нет, то переходите к Шагу 3.

Как найти проблемный плагин или тему:

  1. Подключитесь к серверу по FTP. Одна из хороших бесплатных программ для этого FileZilla.

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

Если письма нет, зайдите на хостинг, в разделе FTP вы можете найти существующее подключение и посмотреть логин и пароль. Или создайте новое подключение. Если затрудняетесь — обратитесь в техподдержку.

После подключения перейдите в корневую папку сайта. Корневая папка обычно называется «public_html» или «www», или вы уже можете быть в корневой директории после подключения к серверу.

Корневая папка Вордпресс
Корневая папка Вордпресс
  1. Зайдите в папку «wp-content» и переименуйте папку «plugins», например, в «plugins1».
Переименуйте папку plugins в plugins1
Переименуйте папку plugins в plugins1
  1. Зайдите на сайт в браузере и проверьте, пропала ли ошибка.

Если ошибка пропала, значит, проблема в каком-то плагине. Вернитесь на сервер по FTP и переименуйте папку с плагинами обратно в «plugins».

Зайдите внутрь папки с плагинами и переименуйте названия папок с отдельными плагинами одну за одной. Добавьте какой-нибудь символ к названию каждой папки, например, «1».

Чтобы найти проблемный плагин, отключайте плагины по одному
Чтобы найти проблемный плагин, отключайте плагины по одному

Отключайте плагины по одному таким образом и возвращайтесь на сайт, пока не найдете, какой плагин вызывает проблему. Удалите этот плагин или попробуйте найти решение проблемы с этим плагином в Интернете.

  • Если проблема не пропала даже после переименования папки «plugins», сделайте то же самое с папкой «themes».
  • Если это не помогло, переименуйте обе папки обратно в «plugins» и «themes». Проблема находится где-то еще.

Шаг 3. Проверьте, что база данных не повреждена

База данных Вордпресс довольно сложная вещь, поэтому если происходит даже небольшой сбой, вы можете увидеть ошибку соединения с базой данных.

  1. Проверьте, что у вас есть доступ в админку: ваш-сайт.ru/wp-admin

Если вы видите ту же ошибку “error establishing a database connection”, пропустите это шаг.

  1. Если вы видите что-то другое, прочитайте что Вордпресс предлагает вам сделать. В последних версиях Вордпресс улучшил решение проблем, возникающих при использовании системы, и предлагает варианты решений. Например, вы можете увидеть такое сообщение:
Сообщение Вордпресс - Не удалось выбрать базу данных

Еще один вариант — вы можете увидеть сообщение, которое начинается с «Одна или несколько таблиц базы данных…». Это значит, что вам нужно восстановить базу данных.

Чтобы восстановить БД, подключитесь к серверу по FTP, зайдите корневую папку и скачайте файл wp-config.php на компьютер.

Откройте этот файл в Блокноте (или в Notepad++), и добавьте эту строку перед строкой Это все, дальше не редактируем:

Загрузите файл обратно на сервер с заменой существующего файла и перейдите по этому адресу:

ваш-сайт.ru/wp-admin/maint/repair.php

Вы должны увидеть такое сообщение:

Восстановление и оптимизация базы данных

Восстановление и оптимизация базы данных

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

Если ошибки нет, все в порядке. Удалите строку о включении ремонта в файле wp-config.php. Загрузите файл на сервер с заменой существующего файла.

Если ошибка не пропала, переходите к следующему шагу.

Шаг 4. Проверьте логин и пароль для подключения к Базе Данных

Вордпресс использует логин и пароль для подключения к базе данных, которые хранятся в файле wp-config.php.

Обычно эти данные не меняются сами по себе, но в некоторых редких случаях это может произойти. Например, после изменения каких-то файлов сайта, изменения хостинга или что-то еще.

Откройте wp-config.php и найдите эти строки:

define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'логин_пользователя');
define('DB_PASSWORD', 'пароль_пользователя');
define('DB_HOST', 'localhost');

Это данные для подключения к базе данных. Если они отличаются от данных для входа в базе данных, то соединение не будет установлено.

В зависимости от интерфейса вашего хостинга, вы можете узнать название базы данных, логин и пароль и для входа на хостинге в разделе Баз Данных.

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

Техподдержка либо скажет Да, либо предоставит правильные данные для подключения к базе данных.

Если техподдержка даст другие данные, вставьте их в 4 строки в файле wp-config.php:

define('DB_NAME', 'имя_базы_данных');      /*вставьте сюда название базы данных*/
define('DB_USER', 'логин_пользователя');       /*вставьте сюда логин пользователя*/
define('DB_PASSWORD', 'пароль_пользователя');     /*пароль пользователя*/
define('DB_HOST', 'localhost');     /*адрес сервера. обычно localhost*/

Сохраните, загрузите на сервер.

Перейдите на сайт, проверьте что проблема пропала. Не забудьте сбросить кеш в браузере.

Если проблема не пропала, переходите к следующему шагу.

Шаг 5. Восстановите стандартные файлы Вордпресс

Последнее средство, которое вы можете попробовать — восстановите стандартные файлы Вордпресс.

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

Скачайте свежую копию Вордпресс на компьютер и распакуйте архив. В распакованном архиве удалите папку wp-content.

Скачайте с сервера на компьютер файлы wp-config.php и .htaccess и сохраните их в отдельной папке. Позже данные из этих файлов могут вам понадобиться.

Загрузите распакованные файлы на сервер с заменой старых на новые. Вставьте данные для подключения к базе данных из Шага 4 и добавьте их в новый файл wp-config.php.

Перейдите на сайт и обновите страницу.

Если это не помогло, то вернитесь на хостинг, скажите тех.поддержке что именно вы делали и попросите их помочь. На этом этапе вы попробовали сделать все, что возможно, и вам остается надеяться только на помощь хостинга.

Как избежать этой ошибки в будущем

Хотя нет 100% защиты от ошибки установления соединения с базой данных Вордпресс, вы можете применять 2 рекомендации для сведения к минимуму вероятности отключения сайта:

  • Используйте хороший хостинг, который оптимизирован для работы с Вордпресс и который имеет хорошую техподдержку. Настроенный для работы с Вордпресс хостинг помогает избежать многих общих проблем с Вордпресс. Я пользуюсь хостингом Бегет.
  • Настройте бэкап. Установите хороший плагин, например, UpdraftPlus и настройте бэкап на хостинге. Если что-то пойдет не так, у вас всегда будет копия для восстановления.

Читайте также:

  1. База данных Вордпресс
  2. Очистка и оптимизация базы данных
  3. Как изменить префикс базы данных
  4. Безопасность Вордпресс. Подробное описание

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

Это сообщение об ошибке выглядит довольно серьезно.

Во-первых, перестаньте паниковать!

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

  • Понимание проблемы
  • Как исправить ошибку “error establishing a database connection”
    • Шаг 1: Свяжитесь со своим хостинг-провайдером
    • Шаг 2: Проверьте, не были ли повреждены файлы плагинов или тем
    • Шаг 3: Проверьте, не была ли повреждена база данных
    • Шаг 4. Проверьте учетные данные подключения к базе данных.
    • Шаг 5: Восстановите файлы WordPress
  • Как избежать возникновения этой ошибки в будущем?

WordPress использует две основные технологии: PHP и MySQL.

  • PHP – это язык программирования. Файлы ядра WordPress написаны на нем.
  • MySQL – это система управления базами данных (СУБД). WordPress использует базу данных MySQL для хранения содержимого сайта: записи, страницы, а заголовок сайта, макет виджетов и т. д.

Рассматриваемая в этой статье ошибка возникает, когда WordPress не может получить доступ к информации в базе данных с помощью команд PHP. Когда это происходит, WordPress выводит сообщение «Ошибка при установлении соединения с базой данных».

Несколько причин, из-за которых возникает эта ошибка:

  • Неверные учетные данные для входа. Если пароль и изменились, WordPress не сможет получать информацию из базы данных.
  • Поврежденные файлы WordPress. Это может возникать при обновлении плагинов, темы оформления и самого WordPress.
  • Поврежденная база данных. Например, если вредоносный плагин повредил базу данных изнутри. А также вследствие хакерской атаки, сбоем в теме и т.д.
  • Сервер базы данных не работает.
  • Большой объем трафика. Из-за этого база данных не может отвечать на запросы. Например, если один из ваших постов стал «вирусным», и одновременно множество пользователей пытаются зайти на ваш сайт.

Сначала порекомендую путь, который быстро решит проблему. Затем я буду копать глубже.

Шаг 1: Свяжитесь со своим хостинг-провайдером

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

В нем расскажите, что у вас возникла ошибка “error establishing a database connection” и спросите:

  • работает ли сервер базы данных;
  • нет ли сейчас на сервере скачков активности или трафика.

Служба поддержки хостера сообщит, в порядке ли ваша база данных и есть ли подозрительные действия на сервере.

Если неисправность возникла не на стороне сервера, перейдите к шагу 2.

Например, может быть, вы обновили плагин или тему, и все рухнуло. Или подключили сайт к внешнему сервису, отредактировали файлы вручную. Если вы этого не делали, пропустите этот шаг.

Что можно сделать:

  • Подключитесь к хостингу через FTP. Вы можете сделать это с помощью бесплатного инструмента FileZilla.

Чтобы подключиться, необходимо ввести логин и пароль к вашему FTP- аккаунту. Самый простой способ получить их — это поискать первые электронные письма, которые вы получили от провайдера. А также запросить их у службы поддержки хостера.

Затем подключитесь к серверу и перейдите в корневую папку WordPress. Обычно она называется «public_html» или «www».

Если видите перед собой подпапки типа «wp-content» и «wp-admin», то вы находитесь в корне WordPress. Пример:

Шаг 2: Проверьте, не были ли повреждены файлы плагинов или тем

  • Зайдите в папку «wp-content» и переименуйте папку «plugins» . Задайте любое другое имя:

Шаг 2: Проверьте, не были ли повреждены файлы плагинов или тем - 2

  • Вернитесь на сайт и проверьте, не решилась ли проблема.

Если ошибка устранена, то теперь вы знаете, что она была вызвана каким-то плагином. Вернитесь на сервер, переименуйте папку обратно в «plugins». Зайдите в нее и измените имена папок отдельных плагинов. Самый простой способ сделать это — добавить в конце имени нижнее подчеркивание: «_»

Продолжайте, пока не выясните, когда ошибка возникает, а когда нет. Как только вы сузите круг поиска до одного конкретного плагина, удалите его или найдите решение проблемы в интернете.

  • Если ошибка сохраняется и после переименования папки «plugins», выполните тот же процесс для папки «themes».
  • Если это не поможет, переименуйте обе папки обратно в «plugins» и «themes». Ошибка связана с чем-то другим.
  • Зайдите в панель управления WordPress — YOURSITE.com/wp-admin

Если вы видите ту же ошибку: «error establishing a database connection», пропустите шаг.

  • Обратите внимание на то, что WordPress предлагает вам сделать. Один из вариантов:

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

Если увидите сообщение, начинающееся с «One or more database tables are unavailable […]”. Это означает, что нужно «отремонтировать» базу данных.

Сначала подключитесь к сайту через FTP. Перейдите в корневой каталог WordPress и загрузите на свой компьютер файл «wp-config.php».

Откройте его в текстовом редакторе и строку в конце (прямо перед «That’s all, stop editing”):

define('WP_ALLOW_REPAIR', true);

Теперь загрузите файл обратно на сайт (через FTP). Перейдите по адресу YOURSITE.com/wp-admin/maint/repair.php

Вот что вы должны увидеть:

Шаг 3: Проверьте, не была ли повреждена база данных - 2

Нажмите любую из кнопок. После завершения автоматического восстановления вернитесь на сайт и посмотрите, исправлена ли ошибка.

Если ошибки нет, отлично! Но вам все равно нужно вернуть файл «wp-config.php» в его предыдущее состояние. Удалите строку, которую добавили, и повторно загрузите файл.

Если ошибка не устранена, перейдите к следующему шагу.

Если пароль и логин от базы данных изменились, возникает ошибка “error establishing a database connection”! Ее Исправление выполняется в файле wp-config.php. Я говорю об этих строках:

define('DB_NAME', 'some_db');
define('DB_USER', 'some_username');
define('DB_PASSWORD', 'some_pass');
define('DB_HOST', 'localhost');

Они содержат всю информацию, необходимую WordPress для подключения к базе данных. Если что-то в ней неверно, соединение не будет установлено.

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

Скопируйте новые учетные данные и поместите их в файл wp-config.php.

define('DB_NAME', 'some_db'); /* это имя базы данных WordPress */
define('DB_USER', 'some_username');
define('DB_PASSWORD', 'some_pass');
define('DB_HOST', 'localhost'); /* это веб-адрес сервера вашей базы данных */

Повторно загрузите файл через FTP. После этого вернитесь на сайт и посмотрите, исправлена ​​ли ошибка. Если нет, переходим к последнему шагу.

Файлы ядра WordPress могут быть повреждены по ряду причин. Но можно восстановить стандартные файлы WordPress, используемые по умолчанию. Самый простой способ сделать это – загрузить чистую версию движка с сайта WordPress.org и установить ее поверх той, которая есть у вас.

Перейдите по этой ссылке и загрузите последнюю версию WordPress. Распакуйте архив и удалите из него папку «wp-content».

Далее подключитесь к своему сайту через FTP, перейдите в корень WordPress, загрузите новые файлы CMS. Перезапишите существующие файлы.

Шаг 5: Восстановите файлы WordPress

Когда загрузка будет завершена, вернитесь на свой сайт и проверьте результат. Если это не поможет, обратитесь еще раз в службу поддержки хостинга. Расскажите им обо всем, что вы сделали, и попросите помочь.

Идеального способа защиты сайта от ошибок соединения с базой данных нет. Но вероятность возникновения этих проблем можно минимизировать, придерживаясь некоторых правил:

  • Работайте только с хостингами, которые оптимизировали свои серверы для работы с WordPress. Благодаря этому вы всегда сможете рассчитывать на квалифицированную поддержку помощь.
  • Установите простой плагин резервного копирования, такой как UpdraftPlus. Благодаря ему у вас всегда будет рабочая резервная копия WordPress.

Я надеюсь, что это руководство вам поможет.

Few things are as frustrating as finding that your website is down — particularly if you rely on it for business. The Error Establishing a Database Connection message represents a serious issue and prevents all access to your site, so fixing it is a top priority. However, if you’re not familiar with how WordPress works, it can be a confusing problem.

Don’t fret. Although this error is serious, it’s also highly fixable. With a few troubleshooting steps, you can have your site back online in no time. Here’s what we’ll cover:

  • What is the Error Establishing a Database Connection?
  • Common Causes of Database Connection Errors
  • How to Fix the Error Establishing a Database Connection (4 Steps)

Let’s get started!

Got a WordPress Error? No Problem

You can skip troubleshooting if you sign up for DreamPress hosting. Our friendly WordPress experts are always standing by to solve your website problems — big or small.

Understanding the Error Establishing a Database Connection in WordPress

Before we dig too much into this particular error message, let’s have a brief lesson on how WordPress sites work. Nearly all website information — including post data, plugin settings, login credentials, and more — is stored and organized in a MySQL database.

DreamHost Glossary

MySQL

MySQL is a relational database management system that offers practical management tools. You can use MySQL to create, modify, and extract data from relational databases through the SQL programming language. It can also control the access that users have to the database.

Read More

When a visitor comes to your site, WordPress uses PHP to query the database and pull the correct information, which is then displayed as the complete page.

If, for whatever reason, WordPress can’t access your site’s database or it isn’t working properly, the result is an Error Establishing a Database Connection message.

The Error Establishing a Database Connection message on a WordPress site.

This error prevents the entire page from loading. In fact, you won’t even be able to access the WordPress dashboard (your site’s back end).

If your site uses caching, visitors may still see stored copies of your pages. Therefore, if you catch the error early and resolve the problem before your site’s cache refreshes, you can avoid too many interruptions to your site and business.

Fortunately, as WordPress errors go, a database connection error is usually pretty simple to resolve. The most common cause, by far, is just a mismatch of login credentials for the database.

Common Causes of the Error Establishing a Database Connection

There are four typical causes of the database connection error:

  • Incorrect database login credentials. Possibly the most common cause of the Error Establishing a Database Connection is simply that WordPress has incorrect login credentials for your database. This could be either the database name, username, or password. Remember, these login details are different from the ones you use to access your site.
  • Database corruption. A WordPress MySQL database contains a lot of information. If any part is deleted or corrupted, the result can be the error in question. Corruption can result from manually tinkering with the database, but it can also just happen as a consequence of normal use. Although MySQL is quite robust, nothing is perfect, and errors do occur.
  • WordPress core file corruption. Similarly, corruption can occur in the core WordPress files that make up your site. Even though these files are outside the database, they may sometimes result in the same error.
  • Problems with the web server or hosting provider. If problems arise with your host or server (if you’re self-hosting) and WordPress can’t reach it to query the database, it will throw this error. These problems can include outages, data loss, and hardware failures.

As we said, incorrect credentials are the most common cause of the error, but any of these could be the culprit. For that reason, fixing the error can involve some troubleshooting.

How to Fix the Error Establishing a Database Connection in WordPress (In 4 Steps)

Although this is a serious error, it’s fortunately fairly easy to resolve. Below, you’ll find step-by-step instructions for troubleshooting and fixing the problem. Note that you should try each step in order, only moving to the next if one doesn’t work.

Step 1: Check Your WordPress Database Credentials

Since this is the most likely cause of the error, it should also be the first step in your troubleshooting. The first thing you’ll need to do is locate the credentials WordPress is currently using to access your database.

This information is stored in your site’s wp-config.php file. You can use a Secure File Transfer Protocol (SFTP) client to access it.

Alternatively, if your site is hosted with DreamHost, you can access the file system from the DreamHost Control Panel. To do so, sign in to your control panel and navigate to Domains > Websites. Hover the mouse over the domain you’d like to fix, then click ‘manage’ to see the folder icon. Then click on the file folder symbol next to the site that’s experiencing the error.

Inside the file browser, select the folder named after your website, then open wp-config.php. Here, look for three pieces of information — the database name, username, and password. They should be near the top of the file.

The database login credentials in the wp-config.php file.

With this information in hand, head to your DreamHost Panel and navigate to More > MySQL Databases. Look for the hostname that corresponds to your website’s name. It will be formatted as mysql.yoursitename.com, with “yoursitename” being the name of your website.

If the hostname isn’t on this page, skip down to Step 2 and come back here when you’re done adding it.

In the section called Database(s) on this server, make sure the database name matches the one you pulled from wp-config.php earlier. If it does, this isn’t the problem, and you can move on to the next step.

If it doesn’t match, go back to wp-config.php and update it with the correct database name.

Next, you can find the usernames that have access to each database beside their names on the MySQL Databases page.

The usernames that have access to the database listed in the DreamHost Control Panel.

To view the password, click on the username. On the page that opens, scroll down to the Current Password field and click on Show.

The password options for a database user in the DreamHost Control Panel.

If the username or password doesn’t match your wp-config.php file, update it with the correct details. Alternatively, if the username matches but the password doesn’t, you could update the database password on the User Details screen.

Step 2: Check Your Database Host Information

If you’ve checked the database login credentials and fixed any errors, but you’re still getting the Error Establishing a Database Connection message, the next thing you should check is your database host information.

The hostname for your database can be found in wp-config.php, right alongside the database name and login credentials.

The MySQL database hostname in the wp-config.php file.

Note this information, then head back to your DreamHost Panel and navigate to More > MySQL Databases. This time, you’re looking to make sure the hostname in your wp-config.php file is listed on this page. If it’s not, you’ll need to add it.

To add a hostname, simply click on the Add New Hostname button. On the next page, enter the hostname you want to use and select the correct website domain from the dropdown.

When you’re finished, click on Create this MySQL hostname now! Note that it can take a few hours for this new hostname to propagate through the DNS, so feel free to take a break here. When some time has passed, come back and check if your site is working. If you’re still getting the database error message, proceed to the next step.

Step 3: Repair Your WordPress Database

If you’re still receiving the error message, you can try repairing the database to fix possible corruption. We recommend using the built-in WordPress database repair tool for this.

To access it, open up your wp-config.php file and add the following code at the end:

define('WP_ALLOW_REPAIR', true);

Next, open a new browser tab and navigate to https://yoursitename.com/wp-admin/maint/repair.php, replacing “yoursitename” with your website’s actual domain. This will bring up the database repair tool.

The WordPress database repair tool.

Click on Repair Database and let it do its thing. You can choose Repair and Optimize Database if you like, but it takes considerably longer. Either way, when the tool is finished, load your website again and check for the error. If it’s gone, then you’ll know a corrupted database was the cause.

However, if you’re still seeing the error message, head to the next step. Before you do, make sure to head back into wp-config.php and delete the code you added to turn on the tool. If you leave it there, someone with ill intentions could gain access to your site easily.

Step 4: Check if Your Database Server Is Down

If all the above steps have failed, one final possibility is that your database server has gone down. At this point, it’s a good idea to verify with your hosting provider that everything is working correctly.

There are a number of reasons why your database host or server might be experiencing issues:

  • Too many simultaneous connections to the database. Some providers have limits on how many connections a server can have at one time.
  • Problems with another site on your shared hosting server. If you’re on a shared hosting plan, you’re splitting resources with other sites. If one of them has problems, it can spill over to your site. This is one of the reasons dedicated or managed WordPress hosting plans can be beneficial.
  • Hardware troubles. Hardware eventually fails, and it’s possible that the server your database is stored on has done just that. Ideally, your host will have redundancies in place so that if one server goes down, there’s another copy of your data available, but this isn’t always the case — especially if you’re hosting your own database on a home or office server.

Your best bet here is to reach out to your web host and inquire about outages or other known issues. If there are none, you can report your problem and ask the support staff to look into it for you.

At DreamHost, you can always find your support options by clicking on the Support button in the top right corner of your control panel:

Support options in the DreamHost Control Panel.

DreamHost offers 24/7 support, so you can get help any time you need it.

Additional Tips and Solutions That Have Worked for Other Users

If you’ve tried all of the above tips and you’re still having trouble with the Error Establishing a Database Connection, there are a couple of other options that have worked for some users. You can try these either before or after going through the troubleshooting steps above:

  • Update your WordPress site URL. If you’ve recently moved your WordPress installation for any reason (such as moving to a new domain name or migrating to HTTPS), you may need to update your site URL in the database. You can find full instructions for doing so in our knowledge base.
  • Reboot your web server. This one might seem a little basic, but sometimes the simplest solutions are the most effective. If you host your database on your own server, try turning it off and back on. Computers are complex, and a simple reboot can fix all manner of odd problems you may be experiencing.
  • Ask for help. If you’re not comfortable doing your own troubleshooting, or you’ve tried everything and still can’t get rid of the Error Establishing a Database Connection message, there’s no shame in reaching out for help. You can get in touch with DreamHost support 24/7 by clicking the Support button in your DreamHost panel. You can also try searching on help forums such as Stack Exchange or Quora. Your question may have already been answered on one of these sites. If not, you can always ask.

At this point, you’ve hopefully resolved the issue and gotten your site back up and running.

Get Content Delivered Straight to Your Inbox

Subscribe to our blog and receive great content just like this delivered straight to your inbox.

Further Reading

Want to learn more about fixing common WordPress errors? We’ve got you covered!

  • How to Fix the 500 Internal Server Error in WordPress
  • How to Fix Syntax Errors in WordPress
  • How to Fix the WordPress Not Sending Email Issue

Ready to Fix a Database Connection Issue?

If you’ve gone to check on your website and found yourself greeted by the Error Establishing a Database Connection message, you’re not alone. It’s a common error with relatively simple fixes, so getting your site up and running again shouldn’t be too difficult.

You should follow these steps to troubleshoot a database connection error:

  1. Check your WordPress database credentials.
  2. Check your database host information.
  3. Repair your WordPress database.
  4. Check if your database server is down.

If you’d rather not have to deal with these types of problems in the future, consider upgrading to DreamPress, our managed WordPress hosting service. Then you can leave the troubleshooting to us!

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

Эта ошибка будет выводиться на каждой странице вашего сайта и вы потеряете посетителей, а также доход, который могли получить. В этой статье мы рассмотрим почему возникает ошибка error establishing a database connection wordpress, а также способы борьбы с ней на хостинге и на VPS.

Почему возникает ошибка error establishing a database connection wordpress

Ошибка установки соединения с базой данных wordpress или error establishing a database connection wordpress по-английски может возникать по многим причинам. Давайте сначала рассмотрим почему она может появляться на хостинге. Я раньше размещал свой сайт на хостинге и встречался с ней довольно часто. Тут может три причины:

  • База данных не создана. То есть, возможно, раньше она и была, но потом ее кто-то удалил и ее больше нет. Если база данных есть, но она пуста, то wordpress покажет сообщение что он неверно установлен и его нужно переустановить;
  • Данные доступа к базе данных в файле wp-config.php указаны неверно. Если хост, пользователь базы или его пароль неверны, то вы не сможете к ней подключиться;
  • Достигнут лимит подключений. Обычно, хостинги не хотят чтобы клиенты перенагружали общую базу данных и устанавливают лимит на количество подключений от одного клиента, например, 8. Когда у вас будет большая посещаемость этого станет явно недостаточно и вы будете видеть такую ошибку время от времени, казалось бы, совсем без причины.

На VPS две первые причины все еще актуальны, но к ним добавляется еще несколько, поскольку это ваш сервер и за его работу отвечаете только вы:

  • Сервис баз данных не запущен — из-за некоторых ошибок во время работы сервис mariadb или mysql может завершить свою работу и, естественно, что тогда база будет недоступной.
  • Если база данных размещена на другом сервере, то, возможно, этот сервер недоступен из сети или был отключен.

Что делать с error establishing a database connection

Теперь попробуем разобрать каждый из вариантов и попытаться понять что делать с error establishing a database connection, а также для предотвращения ее появления в будущем.

1. Базы данных нет

Если базы данных больше не существует, вы ее случайно стерли или ее стер хостер, то у вас есть два пути — либо установить WordPress заново, либо восстановить базу данных mysql из резервной копии. Все настройки базы данных находятся в файле wp-config.php, который находится в корневом каталоге сайта. Скорее всего, на хостинге у вас не будет доступа по SSH и придется довольствоваться FTP.

Вы можете посмотреть как называется база данных в нем:

Затем убедитесь, с помощью Phpmyadmin, что она есть и в ней есть данные:

2. Неверные настройки

Как я уже сказал, все настройки работы с базой данных находятся в файле wp-config.php. Вы можете посмотреть его содержимое через FTP или подключившись к серверу по SSH. Нужные нам параметры находятся в таких переменных:

  • DB_NAME — имя базы данных;
  • DB_USER — пользователь базы;
  • DB_PASSWORD — пароль базы;
  • DB_HOST — хост базы;

Проверить правильность ввода логина и пароля вы можете попытавшись войти с помощью них в Phpmyadmin:

Или используя консольную утилиту mysql если можете подключиться по ssh:

mysql -h хост -u пользователь -p имя_базы данных

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

3. Ограничения сервера

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

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

4. Сервис mysql не запущен

Эта проблема уже касается только VPS, поскольку на хостингах у вас нет доступа к таким службам и вы не сможете ничего сделать. На VPS вы можете делать все что угодно с любой службой. Чаще всего в качестве сервера баз данных используется MariaDB. Чтобы проверить запущена ли она в CentOS наберите:

systemctl status mariadb

В Ubuntu имя сервиса будет немного отличаться:

systemctl status mariadb-server

Если вы увидите надпись Iactive (dead) значит сервис не запущен. Почему? Это уже другой вопрос. Чтобы восстановить работоспособность сайта попробуйте запустить его:

systemctl start mariadb-server

Чаще всего сервер баз данных падает из-за нехватки памяти для работы движка innodb. Чтобы предотвратить такие падения в будущем можно сделать две вещи:

  • Удалить или остановить программы, потребляющие очень много памяти или увеличить количество памяти на сервере;
  • Настроить автоматический перезапуск MariaDB в случае, если она упала с помощью systemd. В этом случае вы даже не будете замечать, что были какие-либо проблемы и ошибка error establishing a database connection возникать не будет, но это только пока с памятью все не совсем уж плохо.

Чтобы заставить systemd следить за состоянием сервиса и перезапускать его по мере необходимости создайте файл /etc/systemd/system/mariadb.service.d/restart.conf и добавьте в него такое содержимое:

vi /etc/systemd/system/mariadb.service.d/restart.conf

[Service]
Restart=always

Затем обновите конфигурацию сервисов:

systemctl daemon-reload

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

systemctl show mariadb

Выводы

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

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

i have a blog with wordpress but sometimes i have problem with that

i got blow error

Error establishing a database connection
This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at %s. This could mean your host’s database server is down.

Are you sure you have the correct username and password?
Are you sure that you have typed the correct hostname?
Are you sure that the database server is running?
If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress Support Forums

and this is my config file

define('WP_HOME','http://www.mysite.com');
define('WP_SITEURL','http://www.mysite.come');
define('DB_NAME', 'mydbname');

/** MySQL database username */
define('DB_USER', 'dbusername');

/** MySQL database password */
define('DB_PASSWORD', 'dbpassword');

/** MySQL hostname */
define('DB_HOST', 'mysite.com');

why i got this error sometimes what do you think about this problem?

i contact with my admins server and they said «we dont have any problem with server and mysql service»

does my server have problem or my config have problem?

Вас когда-нибудь пугало сообщение “Error Establishing a Database Connection”, которое выскакивает, когда вы пытаетесь получить доступ к своему WordPress-сайту? Этот парализующее работу целого сайта событие является ночным кошмаром каждого владельца WordPress сайта.

Не смотря на то, что результаты этой неурядицы крайне плачевны (кажется, что целый сайт испарился!), обычно эту проблему не сложно решить.

Прежде чем мы копнем глубже в эту проблему, скажу, что ничего такого страшного в сообщении Error Establishing a Database Connection нет, так как данные сайта в полной безопасности.

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

Есть две основные составляющие WordPress:

  • Код HTML/PHP – это то, что контролирует внешний вид и функциональность вашего сайта.
    Ваша база данных– здесь хранится вся информация о ваших записях, страницах, настройках, пользователях и т. д.
  • Когда посетитель оказывается на вашем сайте, HTML/PHP составляющая вашего  WordPress посылает запрос к вашей базе данных, чтоб получить контент для вклейки в фреймворк, созданный  HTML/PHP (плагины кэширования вносят в этот процесс свою лепту, но не суть).

Чтоб WordPress мог успешно послать запрос к БД, ему надо установить связь с этой базой данных.

Без этой связи WordPress не может получить доступ к определенному контенту, который нужно доставить посетителям. Так что если WordPress не может установить эту связь с БД, которая указана в вашем файле wp-config.php, то возникает эта ошибка.

Что вызывает  появление сообщения  Error Establishing a Database Connection?

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

Но если вы видите ошибку  на уже устоявшемся WordPress-сайте, могут быть другие возможные причины:

  • Поврежденная база данных. Иногда  WordPress выдает эту ошибку в силу поврежденной базы данных. Я покажу, как это определить позже.
  • Ваши параметры  доступа не верны. Если вы недавно меняли параметры  базы данных, то вы получите такую ошибку, если вы забыли добавить эти новые параметры в файл wp-config.php. Также проблема может возникать, если что-то не так с набором прав, которые касаются имени пользователя в БД.
  • У вас появились проблемы с хостингом. Эти проблемы обсудим далее.

Как исправить поврежденную БД в WordPress

Есть очень простой трюк, который позволит определить, стала ли поврежденная БД причиной ваших проблем:

Попытайтесь залогиться в вашей панели wp-admin.

Если сообщение об ошибке изменится на что-то вроде “One or more database tables are unavailable», то возможно БД нуждается в починке.

Это значит, что виновата поврежденная база данных, а не разорванная связь с БД. С другой стороны, если сообщение не изменится, то можете спокойно переходить к следующему шагу.

Чтоб исправить поврежденную базу данных, вам нужно сделать две вещи:

  • Добавьте кодовый сниппет в ваш wp-config.php, чтоб включить инструмент восстановления
  • Запустите инструмент восстановления

Прежде всего, используйте какую-либо FTP-программу или файловый менеджер  cPanel, чтоб отредактировать ваш wp-config.php. Я думаю проще использовать файловый менеджер.

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

Затем просто кликните на  wp-config.php и выберете опцию  Edit (редактировать):

Вставьте эту строку кода в  самый низ:

define(‘WP_ALLOW_REPAIR’, true);

Затем вбейте в адресную строку это:

Ваш домен.com/wp-admin/maint/repair.php

Кликните на кнопку Repair Database, после чего WordPress вернет ваш сайт к его нормальному состоянию.

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

Как исправить неверные параметры доступа

Есть две потенциальные причины того, почему параметры доступа в вашем wp-config.php больше не работают:

  • Что-то указано неправильно, то есть неверно введены имя пользователя и /или пароль.
  • Пользователь базы данных не имеет доступа к базе данных с определенными привилегиями.

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

Чтоб сделать это, идем в базы данных MySQL в вашей  cPanel:

Прокручиваем вниз и добавляем нового пользователя  (Add a New User):

После этого прокрутите дальше и добавьте этого нового пользователя к вашей существующей базе данных WordPress, используя опцию Add a User to a Database:

На следующем экране, убедитесь в том, что все боксы привилегий выбраны (All Privileges):

Затем обновите ваш файл wp-config.php, внеся туда нового пользователя базы данных и его пароль. Вы можете сделать это с помощью все того же файлового менеджера

Сохранив ваш файл  wp-config.php, вы можете убедиться в том, что теперь все параметры входа верны.

Сайт все еще не работает? Пообщайтесь с хостинг провайдером

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

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

Чтоб решить эту проблему, вы можете попытаться поговорить с вашим хостером и договориться об увеличении лимита памяти. В большинстве случаев это работает.

Вместо заключения

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

Источник

Тоже будет полезно:

Исправляем ошибки и глюки WordPress

Ошибки WordPress — 15 самых распространенных проблем

Понравилась статья? Поделить с друзьями:
  • Error establishing a database connection localhost
  • Error establishing a database connection error establishing a database connection
  • Error establishing a database connection beget
  • Error establishing a database connection apache
  • Error enospc no space left on device write