Это значит что либо имя пользователя и пароль в файле wp config php неверны
В этом руководстве мы будет обсуждать различные методы устранения ошибки Error establishing a database connection в WordPress.
База данных — это программное обеспечение, используемое для удобной организации, хранения и извлечения данных в другое программное обеспечение. Поскольку WordPress является CMS, он использует базу данных для хранения всего содержимого вашего WordPress сайта. Таким образом, когда пользователь выполняет любые действия на вашем сайте, он отправляет запрос к базе данных.
Как результат ошибки Error establishing a database connection в WordPress, ваш сайт становится недоступным и теряет трафик.
Продолжайте читать это руководство, чтобы узнать все причины появления этой ошибки и пути её устранения.
Получите скидку до 82% на хостинг для WordPress.
Решение проблем с подключением к базе данных
Возможные причины ошибки
- Неверные данные для подключения к базе данных. Если были внесены какие-либо изминения в учётные данные для подключения к БД, изменилось имя пользователя или пароль, старые данные, хранящиеся в ваших файлах WordPress, будут недействительными.
- Повреждённая база данных. Может быть результатом попытки взлома, сбоя в работе плагина или установки несовместимой темы.
- Всплеск трафика. Внезапный рост спроса может привести к тому, что ваша база данных перестанет отвечать из-за слишком большой нагрузки на сервер.
- Нерабочий сервер базы данных. Иногда сервер, на котором хранятся файлы вашего сайта, может не работать по какой-либо причине.
Вот как может выглядеть ваша админка WordPress:
Решения, которые помогли другим
Используйте эти рекомендации на свой страх и риск!
В любом случае, перед началом любых правок у вас на руках должна быть рабочая резервная копия вашего сайта.
Обновление настройки в wp_options
Некоторым пользователям помогало выполнение следующего запроса к базе данных через phpMyAdmin:
[sql]UPDATE wp_options SET option_value=’адрес_вашего_сайта’ WHERE option_name=’siteurl’;[/sql]
Имейте в виду, что таблица wp_options может называться иначе, если вы изменяли префикс таблиц WordPress. В этом случае, вместо wp_ укажите свой префикс.
Подключение под root к базе данных
Если у вас VPS и удалось подключиться с помощью файла test.php к базе данных под пользователем root — тогда попробуйте использовать эти данные для подключения к базе данных вашего сайта через wp-config.php.
Если всё пройдёт нормально и сайт заработает, тогда рекомендую зайти в phpMyAdmin, создать нового пользователя и указать логин и пароль нового пользователя в wp-config.php.
Никогда не работайте под учётной записью суперпользователя на вашем боевом сервере.
Если вы знаете ещё какие-то пути решения это проблемы — напишите о них в комментариях и я обновлю заметку.
В любом случае, вы всегда можете обратиться ко мне за консультацией и вместе мы решим возникшую проблему. Успехов!
1. Базы данных нет
Если базы данных больше не существует, вы ее случайно стерли или ее стер хостер, то у вас есть два пути - либо установить WordPress заново, либо восстановить базу данных mysql из резервной копии. Все настройки базы данных находятся в файле wp-config.php, который находится в корневом каталоге сайта. Скорее всего, на хостинге у вас не будет доступа по SSH и придется довольствоваться FTP.
Вы можете посмотреть как называется база данных в нем:
Затем убедитесь, с помощью Phpmyadmin, что она есть и в ней есть данные:
Что необходимо сделать перед исправлением ошибки
Способы, которые я описал не опасны. Но на всякий случай, всегда полезно иметь резервную копию сайта. Поэтому, рекомендую воспользоваться плагином Duplicator или All-in-One WP Migration .
Существует множество плагинов, которые могут помочь вам сделать резервную копию сайта. Но если вы не можете получить доступ в админку сайта, то вы не сможете ими воспользоваться.
В этом случае, вам потребуется использовать ISPmanager или другое программное обеспечение для управления хостингом, чтобы сделать полную резервную копию сайта .
Если вы не знаете, как это сделать, вы можете обратиться за помощью в техническую поддержку хостинга. Они помогут вам найти решение для резервного копирования. Обязательно сделайте резервную копию вашей базы данных, а также файлов на вашем сервере.
Неверные учетные данные базы данных
- Имя базы данных;
- Имя пользователя базы данных;
- Пароль базы данных;
- Адрес сервера базы данных.
Вся эта информация должна быть предоставлена вам вашим хост-провайдером, или же записана где-нибудь. Лучше всего скопировать и вставить все данные непосредственно с источника, на котором они были вам предоставлены.
Если вы недавно сменили хостинг, не забудьте дважды проверить информацию о базы данных. Во многих случаях сервером базы данных будет localhost. Следует отметить, что многие хостинги используют совершенно другой URL-адрес.
Если вы не уверены, какое название сервера базы данных использует текущий хост-провайдер, вам следует связаться с технической поддержкой и спросить их напрямую, либо посмотреть их базу знаний (если она есть).
При новой установке WordPress, вам будут представлены поля для ввода этой информации. Во многих случаях, вы можете даже вернуться и заполнить эту информацию еще раз.
Если нет, вам нужно скачать файл, который содержит в себе данные для подключения к базе данных. Потом отредактировать его, а затем используя соответствующий FTP-клиент , повторно загрузите файл конфигурации. Который расположен в корневом каталоге WordPress и называется wp-config.php. Отредактируйте этот файл с помощью текстового редактора. Данные для соединения с базой данных находятся ближе к началу и выглядят следующим образом:
Просто измените значения во втором наборе круглых скобок, чтобы изменить данные на правильные значения.
Однако, если вы проверили и перепроверили все эти данные. Но все еще получаете ту же ошибку, то пришло время перейти к проверке следующего пункта.
Методы быстрого исправления ошибки
- Проверка данных для подключения к базе данных
- Восстановление базы данных WordPress
- Исправление повреждённые файлов
- Проверка сервера вашей базы данных
- Создание новой базы данных
Заключение
Ошибка возникает, когда вашему сайту не удаётся получить информацию из базы данных. Это может быть вызвано рядом причин, таких как неправильные учётные данные для входа в файле wp-config.php, конфликты темы или плагина WordPress, всплеск трафика.
Эти три метода должны помочь устранить проблему:
- Исправление неправильных учётных данных. Убедитесь, что учётные данные в вашем файле wp-config.php совпадают с данными в базе данных MySQL.
- Ремонт базы данных. Если ваша база данных повреждена, восстановите её, вставив функцию define(‘WP_ALLOW_REPAIR’, true); в файл wp-config.php.
- Исправление повреждённых файлов. Деактивируйте тему или плагин через панель управления WordPress или переименуйте папки с панели управления хостингом.
- Создание новой БД. Создайте новую базу данных MySQL и импортируйте резервную копию.
Оказывается, ошибка подключения к базе данных в WordPress не так и страшна. Просто следуйте инструкциям, и ваш сайт заработает в кратчайшие сроки!
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
Ошибка установки соединения с базой данных
Это значит, что либо имя пользователя и пароль в файле wp-config.php неверны, либо нам не удалось связаться с сервером базы данных по адресу localhost. Возможно, сервер недоступен.
Вы уверены, что указали правильное имя пользователя и пароль?
Вы уверены, что ввели правильное имя сервера?
Вы уверены, что сервер базы данных запущен?
Если вы не знаете, что означают эти термины — возможно, стоит обратиться к хостинг-провайдеру. Если и после этого вам понадобится помощь — всегда можно посетить форум поддержки WordPress.
Комментарий службы ТП провайдера:
В новых версиях php объявлены устаревшими и удалены некоторые функции, акутальные для php версии 5. Например, mysql_connect.
Как быть? Когда могут появиться обновы, способные работать с MySQL под PHP7.x?
Когда могут появиться обновы, способные работать с MySQL под PHP7.x?
WP давно нормально работает с php7. Как минимум, 4.2, более старые я не пробовал.
Когда могут появиться обновы, способные работать с MySQL под PHP7.x?
почти год как появились
обратите внимание на то, чтобы в вашем PHP было включено расширение mysqli (да — да, именно с i на конце, mysql обьявлено устаревшим уже очень давно, и было удалено в PHP7+, вместо него нужно использовать mysqli )
WP использует его автоматически
Рекомендации
PHP версии 7.3 или выше.
Когда могут появиться обновы, способные работать с MySQL под PHP7.x?
Всем спасибо. Yui, буду трясти хостера по поводу mysqli.
Из переписки с ТП хостинга:
Изменили пароль для базы данных на тот же самый при смене версии php, так как, иногда, у CMS WordPress он может «сбиваться».
На данный момент скрипт отрабатывает, проверьте, пожалуйста.
ArgumentCountError thrown
Too few arguments to function wp_maybe_grant_site_health_caps(), 3 passed in /home/m/moovkru/public_html/wp-includes/class-wp-hook.php on line 286 and exactly 4 expected
В какую сторону теперь рыть — вообще не понимаю.
- Ответ изменён 2 года, 8 месяцев назад пользователем raudulv .
- Ответ изменён 2 года, 8 месяцев назад пользователем raudulv .
- Ответ изменён 2 года, 8 месяцев назад пользователем raudulv .
Изменили пароль для базы данных на тот же самый при смене версии php, так как, иногда, у CMS WordPress он может «сбиваться».
он не сбивается у WordPress, самопроизвольно содержимое файла wp-config.php меняться не может.
А вот пароль в принципе поменять стоило, потому что.
В реально старых версиях MySQL может использоваться старый алгоритм хеширования, который не поддерживается новыми версиями mysqlnd (нативная библиотека доступа в PHP пришедшая на замену libmysqlclient)
Т.е. если старый пароль для БД был задан еще для MySQL 4.1 и ниже.
Подход в принципе правильный, но вот WordPress тут совсем не причем.
ArgumentCountError thrown
Too few arguments to function wp_maybe_grant_site_health_caps(), 3 passed in /home/m/moovkru/public_html/wp-includes/class-wp-hook.php on line 286 and exactly 4 expected
тут уже не база данных, а скорее всего какой-то устаревший плагин тянет ошибку.
Попробуйте переименовать папку плагинов /wp-content/plugins например в plugins0
и посмотреть не изчезнет ли ошибка.
А дальше по одному ищите виновного.
Yui, спасибо большое.
Да, при отключенных плагинах вход выполняется нормально.
При поодиночном отключении плагинов (а мы помним, что проблема возникает при входе) хостер меня блокирует, воспринимая неоднократные частые попытки входа как брутфорс.
Но это уже совсем другая история.
А эту тему, как мне кажется, можно закрыть.
Эта статья является переводом оригинальной статьи How to Fix the Error Establishing a Database Connection in WordPress из блога WPBeginner.
Если вы занимаетесь разработкой своего сайта сначала на локальном компьютере, то при переносе на хостинг практически всегда столкнётесь с ошибкой установки соединения с базой данных, в английской версии WordPress она звучит так: Error establishing a database connection.
Но совсем необязательно, что это будет из-за переноса сайта, могут быть изменены настройки подключения к базе данных: удалён пользователь, под которым вы подключались, либо же изменён пароль или MySQL вынесен на отдельный сервер.
Также появление этой ошибки может означать недоступность сервера базы данных на вашем хостинге. В любом случае, проблема есть и её нужно решать.
Убедитесь, что имеете исправную резервную копию вашего сайта до любых действий, которые будут предложены ниже в инструкции!
3. Ограничения сервера
Если все выше перечисленное не помогло, а ошибка появляется то пропадает сама по себе, то, скорее всего, это признак того, что хостер установил ограничение на количество одновременных подключений к базе данных. Вы можете написать в техподдержку и лимит могут чуть увеличить. Но это не решение. Ваш сайт и дальше будет расти, вы же не думаете останавливаться на достигнутом? Тогда вам нужно переходить на новый хостинг, без таких ограничений, или сразу на VPS. Техподдержка может еще посоветовать вам оптимизировать скрипты, но вы же не будете переписывать WordPress?
Если сейчас нет возможности переходить на новый хостинг, можно настроить плагин кэширования WordPress, например, W3TC, это немного улучшит ситуацию, но не сильно и ненадолго.
Поврежденные файлы
В некоторых случаях, пользователи сообщали, что повторная загрузка основных файлов WordPress иногда исправляет ошибку. Точная причина, по которой это может работать, может показаться загадкой. Но во многих случаях, это связано либо со сбросом прав доступа к файлу, либо с заменой поврежденного ядра или файла.
Не перезаписывайте ни файл config.php, который содержит важную информацию о настройке, ни wp-content каталог, содержащий ваши темы, плагины и мультимедиа, и не забывайте всегда выполнять резервное копирование перед изменением или заменой чего-либо.
Проверка файла wp-config.php
Файл wp-config.php один из самых важных файлов в WordPress — именно в нём прописаны все параметры для нормальной работы вашего сайта. Все настройки для подключения к базе данных тоже находятся именно в этом файле.
Если вдруг вы, или кто-то другой (например, системный администратор), изменили логин или пароль для подключения к базе данных, то внести изменения нужно именно в файл wp-config.php, помните об этом.
За настройки подключения к базе данных MySQL отвечают следующие константы:
[php]define(‘DB_NAME’, ‘название базы данных’);
define(‘DB_USER’, ‘пользователь базы данных’);
define(‘DB_PASSWORD’, ‘пароль пользователя’);
define(‘DB_HOST’, ‘localhost’);[/php]
Имейте в виду, что в константе DB_HOST не всегда будет значение localhost, это может быть и IP адрес сервера, либо же какой-то другой адрес, если вы используете хостинг от МастерХост, например. В любом случае, эту информацию вам нужно уточнить у вашего хостинг-провайдера, либо в личном кабинете вашего хостинга.
Но для большинства хостингов значение DB_HOST будет всё-таки localhost и чаще всего изменять его не придётся.
Стоит упомянуть, что в некоторых случаях вам нужно будет указать нестандартный порт для подключения к MySQL, это делается следующей командой в файле wp-config.php:
[php]define(‘DB_HOST’, ‘127.0.0.1:3351’);[/php] , где 3351 — порт, на котором «прослушивается» MySQL-сервер. Уточните это значение у вашего системного администратора.
Если вы убедились, что все настройки в файле корректны — тогда стоит полагать, что проблема с подключением к базе данных где-то глубже и нужно копать усерднее.
Выводы
В этой статье мы разобрали почему возникает ошибка установки соединения с базой данных WordPress, а также как решить эту проблему чтобы она не повторялась и вы не теряли пользователей. Еще одним полезным моментом будет мониторинг, если вы настроите отслеживание работы сервера с помощью Nagios, Monit или Zabbix, то сможете сразу же узнать о возможных проблемах. Надеюсь, эта информация была полезной для вас.
Чем дольше вы работаете с WordPress, тем больше вероятность столкнуться с данной ошибкой. Это довольно таки неприятная ошибка. Так как при ее возникновении, вы не сможете получить доступ к административной или внешней части сайта. К тому же, если у вас нет знаний о серверах и веб-разработке, то вы и вовсе будете растеряны.
Проявляется ли проблема в wp-admin
Для этого нужно выполнить следующие шаги:
Запомните, что доступ к этой странице может получить любой пользователь вашего сайта, обратившись к ней по прямому адресу. Поэтому после исправления ошибки обязательно удалите строку WP_ALLOW_REPAIR из файла wp-config.php!
В ином случае рекомендую продолжить чтение заметки.
Что означает ошибка при установлении соединения с базой данных?
Вместо того, чтобы сохранять в определенных файлах содержимое записей и страниц, WordPress сохраняет их базе данных. Таким образом, WordPress каждый раз ссылается на базу данных, когда он обслуживает или генерирует веб-страницу.
Например, когда страница просматривается, сначала WordPress находит на сервере саму базу данных. Потом подключается к базе данных, находит таблицу страниц в этой базе данных. После чего, ищет содержимое, которое пытается загрузить. Короче говоря, печально известная «ошибка при установлении соединения с базой данных» — означает, что WordPress не может найти эту базу данных.
Почему это такая большая проблема? Ну, в дополнение к содержанию постов и страниц, WordPress также хранит целую кучу другой важной информации в своей базе данных. Такие как: основные настройки, ваши пользовательские данные, настройки выбранной вами темы, настройки виджетов, данные для ваших активных плагинов, и так далее.
Если WordPress не может получить доступ к какой-либо информации в своей базе данных, он не может загрузить ваш сайт.
2. Неверные настройки
Как я уже сказал, все настройки работы с базой данных находятся в файле wp-config.php. Вы можете посмотреть его содержимое через FTP или подключившись к серверу по SSH. Нужные нам параметры находятся в таких переменных:
- DB_NAME - имя базы данных;
- DB_USER - пользователь базы;
- DB_PASSWORD - пароль базы;
- DB_HOST - хост базы;
Проверить правильность ввода логина и пароля вы можете попытавшись войти с помощью них в Phpmyadmin:
Или используя консольную утилиту mysql если можете подключиться по ssh:
mysql -h хост -u пользователь -p имя_базы данных
Если проблема в данных аутентификации, то утилита выдаст ошибку и вы точно будете знать что неверно. Дальше останется найти правильные данные и указать их в файле wp-config.php. Если же данные верные, идем дальше.
Метод 1. Проверка данных для подключения к базе данных в wp-config.php
Одна из наиболее распространённых причин возникновения ошибок при попытке установить соедниение с базой данных, связана с неправильными учётными данными для входа. Это обычно происходит после того, как владелец веб-сайта переходит к другому хостинг-провайдеру. Если и интерфейс, и серверная часть вашего сайта выдают ошибку, этот метод должен решить проблему.
В первую очередь вам нужно проверить, совпадает ли информация для входа в базу данных с той, что ваш сайт хранит в файле wp-config.php.
Чтобы получить доступ к файлу wp-config, используйте FTP-клиент, например FileZilla, или файловый менеджер WordPress в панели управления хостингом.
Если вы решили использовать файловый менеджер, перейдите в папку /public_html/, щёлкните правой кнопкой мыши по файлу wp-config.php и выберите «Редактировать».
Затем найдите следующие данные:
- DB_NAME – имя базы данных
- DB_USER – имя пользователя
- DB_PASSWORD – пароль
- DB_HOST – сервер базы данных
После этого перейдите в Базы данных MySQL и найдите своё текущее имя базы данных в разделе Список текущих баз данных и пользователей MySQL. Там вы увидите следующую информацию: имя базы данных, пользователя БД и хост.
Если данные для входа в вашем файле wp-config.php отличаются от тех, что вы нашли в разделе базы данных MySQL, измените информацию в файле wp-config.php.
Отредактируйте эти строки:
Завершив редактирование файла, обновите ваш WordPress сайт, чтобы узнать, исчезла ли ошибка Error establishing a database connection.
Если ошибка не исчезла, возможно, значение DB_PASSWORD по-прежнему остаётся неправельным. Чтобы решить эту проблему, вам необходимо сбросить пароль MySQL.
Для этого просто вернитесь в меню Базы данных MySQL, щёлкните по своей текущей базе данных и выберите Изменить пароль. После ввода нового пароля нажмите кнопку Обновить.
Если имя вашей базы данных, имя пользователя и хост указаны правильно, стоит проверить информацию о хосте базы данных. Как правило, с WordPress в качестве хоста базы данных компании веб-хостинга используют localhost. В то время как компании управляемого WordPress хостинга могут использовать отдельные серверы.
В таком случае вам нужно будет связаться с вашей хостинговой компанией, чтобы узнать информацию о хосте вашей базы данных.
Обратите внимание, если вы недавно изменили хостинг-провайдера, обязательно дважды проверьте данные DB_HOST. В большинстве случаев localhost не меняется, но некоторые веб-хосты используют IP-адрес или другой URL.
Получите скидку до 82% на хостинг для WordPress.
Почему возникает ошибка error establishing a database connection wordpress
Ошибка установки соединения с базой данных wordpress или error establishing a database connection wordpress по-английски может возникать по многим причинам. Давайте сначала рассмотрим почему она может появляться на хостинге. Я раньше размещал свой сайт на хостинге и встречался с ней довольно часто. Тут может три причины:
На VPS две первые причины все еще актуальны, но к ним добавляется еще несколько, поскольку это ваш сервер и за его работу отвечаете только вы:
- Сервис баз данных не запущен - из-за некоторых ошибок во время работы сервис mariadb или mysql может завершить свою работу и, естественно, что тогда база будет недоступной.
- Если база данных размещена на другом сервере, то, возможно, этот сервер недоступен из сети или был отключен.
Исправляем ошибку установки соединения с базой данных: 87 комментариев
К сожалению мне тут никто не ответил, я нашел ответ в другом месте, так что может быть комуто будет полезно — проблема была в атрибутах файла. Изенение атрибутов через команду чмод, все порешало.
Странно, но я успешно захожу в phpmyadmin и в cyberpanel но нет доступа к редактирования файла wp-config то есть я его редактирую, но изменения не сохраняются. А если редактировать через терминал, то просто не дает сохранять изменения. ну и конечно же не дает устанавливать и обновлять плагины. Ввожу запрашиваемые имя и пароль, но ничего не подходит, хотя я ввожу имя и пароль копируя их из файла wp-config. Я что то делаю не так, или ошибка глубже?
Спасибо автору, помог!
$resource = mysql_connect('localhost', 'пользователь', 'пароль');
if (!$resource) die('Ошибка при подключении: ' . mysql_error());
>
echo 'Подключено успешно!';
mysql_close($resource);
Срабатывает через раз, равно как и на самом сайте или же в админ панели, при обновлении постов, страниц или плагинов, или прочей работы иногда вываливаешься в экран с ошибкой подключения. При этот жму обновить страницу, и через второй или третий раз опять оказываюсь на сайте.
mysqli_connect() начиная с версии PHP 7.0.0
Спасибо. Зашел в базу с пользователем «root»
Статья хоть и старенькая, но судя по комментариям, в нее заходят. Настраивал новый сервер и выяснилось, что библиотека php-функций mysql больше не поддерживается, а в 7-й версии php и вовсе отсутствует. Нужно использовать библиотеку mysqli, в wordpress она выбирается автоматически. Но, разумеется, тестовый пример будет другой. Что-то вроде:
real_connect(‘localhost’, ‘my_user’, ‘my_password’, ‘my_db’)) die(‘Ошибка подключения (‘ . mysqli_connect_errno() . ‘) ‘
. mysqli_connect_error());
>
echo ‘Подключено успешно!’;
?>
Комментарий почему-то сохранился не полностью.
Приветствую! Я недавно вернулся ко блогу и постепенно буду обновлять статьи одну за другой. Надеюсь, что начну с самых популярных, чтобы актуализировать контент.
Ни для кого не секрет, что большинство платформ для создания веб-сайтов, и в том числе такая популярная платформа, как WordPress, используют базу данных для хранения информации. Работа с базой данных намного быстрее, чем с файлами поэтому такой подход и набрал большую популярность. Но иногда при мы можем сталкиваться с такой проблемой, как ошибка установки соединения с базой данных WordPress.
Эта ошибка будет выводиться на каждой странице вашего сайта и вы потеряете посетителей, а также доход, который могли получить. В этой статье мы рассмотрим почему возникает ошибка error establishing a database connection wordpress, а также способы борьбы с ней на хостинге и на VPS.
Метод 3: Исправление повреждённые файлов
Если вы недавно установили новую тему, причина может именно в ней. Чтобы проверить это, перейдите в Внешний вид -> Темы и попробуйте активировать любой другой из доступных там шаблонов.
Ещё один способ – отключить все плагины, а затем активировать их по очереди, чтобы найти виновника.
Если вы не можете зайти в панель управления WordPress, отключите тему или плагины, переименовав соответствующие папки в файловом менеджере панели управления хостингом.
Войдите в файловый менеджер и откройте папку wp_content, которая находится в каталоге public_html. Затем переименуйте текущую используемую тему или папку plugins. Это отключит вашу тему или все ваши плагины сразу.
Помните, что не следует отключать темы и плагины WordPress одновременно, чтобы выяснить причину проблемы.
Например, сначала переименуйте папку plugins, а затем обновите сайт. Если ошибка исчезнет и вы сможете получить доступ к панели управления WordPress, значит, вы точно знаете, что проблема в одном из плагинов.
Но как узнать, какой именно плагин WordPress вызывает проблему?
Что ж, отключив их все, восстановите исходное имя папки plugins. Плагины WordPress по-прежнему будут неактивны, но теперь вы сможете изменять настройки в админке.
После этого активируйте плагины WordPress один за другим, каждый раз перезагружая свой сайт. Продолжайте делать это до тех пор, пока не найдёте тот, который вызывает ошибку error establishing a database connection.
Совет: Не забудьте удалить тему или плагин, которые вызывают ошибку.
Если это не сработает, вы также можете попробовать повторно загрузить основные файлы WordPress. Для этого скачайте свежую версию WordPress и распакуйте архив на свой компьютер. Внутри папки удалите файл config.php и папку wp-content. После их удаления откройте FTP-клиент и загрузите оставшиеся файлы в папку root WordPress.
Таким образом, вы безопасно перезапишите все эти файлы на вашем реальном сервере.
Что делать с error establishing a database connection
Теперь попробуем разобрать каждый из вариантов и попытаться понять что делать с error establishing a database connection, а также для предотвращения ее появления в будущем.
Поврежденная база данных
К счастью, у WordPress есть инструмент, который может помочь вам восстановить поврежденную базу данных. Вам нужно скачать свой wp-config.php файл (который вы найдете в корневом каталоге вашей установки WordPress) и добавить следующую строку:
Любой из этих вариантов должен подойти. Как только процесс восстановления закончится, обязательно вернитесь в wp-admin.php и удалите вышеупомянутую строку кода из файла.
Метод 2. Восстановление базы данных WordPress
К счастью, вы можете легко восстановить базу данных, вставив следующую функцию в файл wp-config.php:
Обязательно убедитесь, что вставили функцию перед разделом “That’s all, stop editing! Happy blogging.”
Выберите необходимую вам опцию – Починить базу данных или Починить и оптимизировать базу данных.
После восстановления базы данных не забудьте вернуться к файлу wp-config.php и удалить функцию. Это очень важно, поскольку, если вы этого не сдеалете, любой сможет получить доступ к URL-адресу страницы восстановления БД без входа в систему.
Дополнительные методы
Если ни один из перечисленных выше методов не помог, вот ещё несколько бонусных советов, которые сработали для других пользователей.
- Обновите WordPress. Перейдите в свою панель управления, затем в phpMyAdmin > База данных WordPress. Щелкните по SQL в верхнем меню и вставьте следующий код:
- Попросите помочь вам. Нет ничего плохого в том, чтобы попросить о помощи. Обратитесь в свою хостинговую компанию или в службу поддержки клиентов. Они, наверняка, помогут устранить проблему с подключением, приняв необходимые меры за вас или показав, как это сделать.
- Перезагрузите сервер. Пользователи выделенных серверов, локальных серверов и VPS (виртуальных частных серверов) также могут попытаться перезагрузить свои серверы. При перезапуске веб-сервера и сервера базы данных некоторые ошибки могут просто исчезнуть.
- Восстановите последнюю резервную копию. Это следует делать только в том случае, если вы не боитесь потерять данные, которые были добавлены после последнего резервного копирования. Проверьте, есть ли у вашего хостинга функция автоматического создания бэкапов, чтобы узнать, когда была создана последняя резервная копия. Возможно, вам придётся восстановить как вашу базу данных, так и ваши файлы.
В чем причина проблемы подключения к базе данных?
Существует ряд проблем, которые могут вызвать проблемы со связью с базой данных. Давайте создадим короткий список и углубимся, чтобы лучше понять (и решить) каждую проблему:
- Неверные учетные данные базы данных (имя пользователя, пароль, имя базы данных);
- Поврежденные файлы;
- Поврежденная база данных;
- Сервер базы данных перегружен или работает неправильно.
Метод 4: Проверка сервера вашей базы данных
Если вы попробовали описанные выше методы, но WordPress по-прежнему не может установить соединение с базой данных, возможно, ваш сервер MySQL не работает.
Это может произойти по многим причинам, но одна из них связана с интенсивным трафиком на сервере. Это когда ваш хост-сервер не может обработать количество пользователей, пытающихся получить к нему доступ, что приводит к ошибке соединения.
Если у вас более одного сайта, которые используют один и тот же сервер, проверьте работает ли ваш SQL-сервер и на них.
Пользователям, у которых только один сайт, рекомендуется перейти в панель управления хостингом, войти в phpMyAdmin и подключиться к базе данных.
Если вам удастся установить соединение, проверьте, есть ли у вашего пользователя БД WordPress необходимые права.
Создайте новый файл с именем testconnection.php (или любым другим, которое вы можете запомнить с расширением .php) и вставьте в него этот код:
Обязательно замените имя пользователя и пароль своей информацией. Затем загрузите этот файл на сайт и попробуйте зайти на него в браузере.
Если соединение с базой данных будет успешно установленно, это означает, что у вашего пользователя достаточно прав, и что причина ошибки error establishing a database connection в чём-то другом.
Если ваш веб-сайт размещён на общем сервере, а трафик продолжает расти, нагрузка на сервер будет тоже увеличиваться, что может вызвать проблему соединения с базой данных. Плагины кеширования, такие как W3 Total Cache, WP Rocket или WP Super Cache – хорошие инструменты, которые помогут предотвратить дальнейшие проблемы.
Сервер базы данных перегружен или работает неисправно
Работающие со сбоями и перегруженные серверы очень трудно отличить, не имея доступа к расширенным инструментам хостинга или не в техподдержку хостинговой компании. Свяжитесь с поддержкой по телефону или в чате, и сообщите им о проблеме.
Если вы используете общий сервер (т. е. Вам нужно делиться ресурсами сервера с большим количеством других людей), тут трудно будет определить, является ли причина ошибки из-за перегрузки или неисправности.
В некоторых случаях, вместо сбоя это может быть вызвано тем, что другой сайт на том же сервере перегружает базу данных. Другими словами, даже если у вас очень маленький сайт, без внезапных скачков трафика, то сервер может быть перегружен чужим сайтом. Обе эти проблемы, обычно решаются в относительно короткие сроки.
Если ваш веб-сайт находится на общем сервере, и ваш трафик быстро увеличивается, вы можете начать испытывать проблемы с подключением к базе данных, так как ваш сайт перегружает сервер.
Такие ошибки, как правило, разрешаются сами собой, но могут произойти снова, если ваш веб-сайт продолжит испытывать скачки трафика. В таких случаях, используйте плагин для кэширования. Например WP Super Cache , вполне может решить дальнейшие проблемы.
Тем не менее, самый простой способ решить эту проблему — вообще не допустить ее возникновения. Для этого, я советую изучить статью о том, как правильно выбрать хостинг .
Как видите, точная причина известной ошибки в WordPress «установка соединения с базой данных» — может быть одной из многих. Однако, по моему опыту, в подавляющем большинстве случаев ошибка возникает при опечатке в файле config.php. Если у вас возникли проблемы, следуйте описанным способам выше, чтобы ваш сайт снова заработал.
Проверка работоспособности MySQL сервера
Если ваш хостинг-провайдер позволяет использовать скрипт phpMyAdmin — попробуйте воспользоваться им. Для этого зайти на ваш аккаунт, найдите пункт в меню с упоминанием базы данных и возле него будет ссылка на phpMyAdmin.
Если у вас виртуальный сервер (VPS) и вы используете cPanel или ISPManager, то ссылка на phpMyAdmin будет на главной странице панели управления сервером.
В любом случае, вам нужно попробовать зайти в базу данных вашего сайта. И, если всё удалось, то ещё раз проверить данные для подключения, которые вы внесли в файл wp-config.php из прошлого шага этой инструкции.
Если же не удаётся подключиться к базе данных через phpMyAdmin, то пробуем вот такой ход.
В случае, если не удалось подключиться к базе данных ни через phpMyAdmin, ни через файл test.php — рекомендую обратиться в службу поддержки вашего хостинг-провайдера и разобраться в чём дело по телефону. У нормального провайдера круглосуточно работает служба поддержки.
Как устранить “Error Establishing a Database Connection” в WordPress?
Метод 5: Создание новой базы данных
Если ни один из вышеперечисленных методов не помог, значит ваша база данных может быть полностью повреждена и не подлежит восстановлению.
В таком случае вам необходимо создать новую базу данных MySQL и пользователя. Для этого перейдите на страницу Базы данных MySQL и заполните форму вверху.
Создав новую базу данных MySQL, импортируйте (англ.) резервную копию БД, чтобы не делать всё с нуля.
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 и добавьте в него такое содержимое:
Затем обновите конфигурацию сервисов:
Мы не вносили изменения в основной файл юнита потому, что он может быть перезаписан при обновлении, и все наши настройки пропадут, такой путь более безопасный. Проверить применилась ли конфигурация вы можете командой:
systemctl show mariadb
Читайте также: