В статье рассказывается:
- Суть и причины возникновения ошибки установки соединения с базой данных
- Первые шаги устранения ошибки установки соединения
- 3 способа устранения ошибки установки соединения с БД
- Дополнительные методы устранения ошибки установки соединения с БД
- Профилактика возникновения ошибки установки соединения с базой данных
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Ошибка установки соединения с базой данных — довольно частое явление на WordPress, которое может быть вызвано различными причинами. При первом появлении она может добавить седых волос владельцу сайта, ведь доступ к ресурсу будет невозможен, включая и его «админку», и при недостатке знаний ставит в тупик.
Не стоит паниковать и сильно переживать, ошибка установки соединения может быть исправлена относительно простыми методами. В нашей статье мы расскажем, почему возникает данная неисправность, как можно ее устранить, и что делать, чтобы снизить риск ее повторного появления.
Суть и причины возникновения ошибки установки соединения с базой данных
Чтобы понять, что означает “Ошибка установки соединения с базой данных” (Error establishing a database connection) разберемся, как работает WordPress и выясним, что такое база данных.
WordPress – одна из самых популярных CMS – систем., т.е. систем управления контентом. Это программное обеспечение, позволяющее добавлять, удалять и редактировать содержание вашего сайта без знаний языков программирования. Вся информация о контенте хранится в базе данных.
База данных — это и есть совокупность информации, организованная так, чтобы при необходимости компьютер смог ее найти и обработать. Все сведения о вашем WordPress сайте хранится в базе данных на серверах вашего хостинг- провайдера. Любое действие на сайте приводит кому, что WordPress посылает запрос на нужную информацию в базу данных. Если запрос успешно обработан, то пользователь получает нужную информацию.
Одним из наиболее важных файлов в WordPress является wp-config.php файл. Он находится в корневой директории и содержит сведения о конфигурации вашего сайта, в том числе и информацию о подключении к базе данных. Важно, чтобы эта информация была прописана в строго определенном порядке:
- Database Name — Имя базы данных
- Database Username — Имя пользователя базы данных
- Database Password — Пароль пользователя базы данных
- Database Host — Сервер базы данных
Таким образом, в большинстве случаев “Ошибка установки соединения с базой данных” возникает, если информация, описанная выше, указана не верно. Кроме того, ошибка может быть вызвана повреждением базы данных или перегруженностью сервера.
Первые шаги устранения ошибки установки соединения
Рассмотрим основные причины ошибки установки соединения с базой данных и способы их устранения.
Скачать файл
Прежде всего, настоятельно рекомендуем создать резервную копию всей важной информации и обновлять ее после каждого значимого изменения. Тогда вы гарантированно не потеряете данные. А в случае серьезной ошибки и восстановления базы данных, не столкнетесь с необходимостью создания сайта с нуля. Для создания резервной копии используются плагины Duplicator или All-in-One WP Migration.
Есть много программных модулей для резервного копирования, но они не смогут вам помочь при отсутствии доступа в админку.
В такой ситуации нужен плагин ISPmanager или другой модуль, который поможет, управляя хостингом, сделать полное резервное копирование сайта.
При возникновении сложностей стоит воспользоваться технической поддержкой, которая есть на всех платных хостингах. Здесь вам окажут квалифицированную помощь с созданием резервной копии.
3 способа устранения ошибки установки соединения с БД
Проверка памяти сервера
Предположим, вы проверили учетные данные в фале wp-config.php и убедились в их корректности. Следующим шагом следует проверить сервер на наличие памяти. Довольно часто ошибка соединения возникает из-за перегруженности сервера. Если сервер хостинг-провайдера испытывает трудности, то и ваш сайт WordPress будет замедляться.
В первую очередь удостоверимся, что MySQL работает, и памяти для обработки данных WordPress достаточно.
Подключитесь к удаленному серверу через SSH, используя IP-адрес сервера:
ssh 8host@ <server IP>
Затем убедимся, работает ли MySQL с помощью утилиты netstat. Она позволяет отслеживать проблемы, связанные с производительностью сети. Чтобы увидеть список TCP-портов, которые прослушиваются, и имена программ, используйте команду:
sudo netstat -plt
где флаги –p, –l и –t означают program (программы), listening (прослушивание) и TCP соответственно.
В результате выполнения команды вы увидите список. Найдите в нем mysqld – это сервер MySQL:
Если вы видите его в списке, значит, сервер MySQL работает и прослушивает соединения. В противном случае нужно попробовать ручной запуск сервера. Следующая команда полностью перегружает MySQL:
sudo systemctl start mysql
Заметьте, что в некоторых версиях и дистрибутивах Linux используется mysqld или mysql-server, а не mysql. Попробуйте разные варианты, чтобы определить, какой из них применяется в вашей системе.
После выполнения этой команды сервер запустится. Проверьте это с помощью sudo netstat -plt, как описано ранее.
По какой причине сервер MySQL может завершить работу? Эта система очень эффективна и производительна, но не всегда стабильна. Если количество одновременно выполняемых задач велико, то она существенно замедляется. Чтобы минимизировать возможные проблемы, нужно следить за объемом доступной памяти.
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 19578
Проверьте log-файлы и ищите в них сообщения об ошибках. Для поиска используйте команду zgrep:
zgrep -a «allocate memory» /var/log/mysql/error.log*
В результате выполнения данной команды вы увидите все log-файлы, содержащие error.log и ‘allocate memory’. Поиск будет выполняться по файлам в директории /var/log/mysql/.
На выводе вы можете увидеть подобную строку:
2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
Это значит, что для корректной работы MySQL не хватает памяти. Именно это и является причиной ошибки подключения к базе данных. Если вы видите не одну такую строку, а несколько, значит, проблема нехватки памяти регулярная. Решается она переносом данных на более мощный сервер. Если сайт размещен на облачном сервере, то хостинг-провайдер в большинстве случаев может обновить сервер быстро и с минимальным простоем.
Читайте также
Если команда zgrep не выдала списка log-файлов, то сервер не испытывает проблем с нехваткой памяти. Значит проблемы установки соединения с базой данных может быть связана неверными учетными данными MySQL.
Проверка учётных данных MySQL
Если вы поменяли хостинг-провайдера или переместили установку WordPress на новый сервер, то информация в файле wp-config.php становится неактуальной. Вам необходимо поменять соответствующие строки в файле, иначе подключение к базе данных будет невозможно.
Чтобы найти этот файл используйте команду find:
sudo find / -name «wp-config.php»
Данная команда будет искать файл с указанным именем в корневой папке. Если он будет найден, то на выходе вы увидите путь к найденному файлу:
/var/www/html/wp-config.php
Чтобы открыть его в текстовом редакторе nano, напишите:
sudo nano /var/www/html/wp-config.php
В результате вы увидите файл с большим количеством строк. Первыми строками как раз и будут те, что описывают подключение к базе данных:
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name’);
/** MySQL database username */
define(‘DB_USER’, ‘database_username’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘database password’);
Вместо ‘database_name’, ‘database_username’ и ‘database_password’ должны быть указаны корректные данные о вашей БД. При необходимости отредактируйте их. На забудьте сохранить файл и выйти из редактора, нажатием CTRL-O, CTRL-X.
Чтобы убедиться, что проблема решена, попробуйте подключиться к базе данных. Для этого наберите команду:
mysqlshow -u database_username -p
Затем введите пароль. Если имя пользователя или пароль не верные, то вы увидите ошибку Access denied. В противном случае на экран будет выведена информация обо всех базах данных, к которым у вас есть доступ.
+———————+
|Databases |
+———————+
| information_schema |
| database_name |
+———————+
Если вы видите имя нужной базы данных в списке, то в файле wp-config.php указаны корректные данные. Теперь можно перезапустить WordPress сайт.
Если после этого ошибка подключения к базе данных не исчезла, то переходите к третьему шагу.
Точный инструмент «Колесо компетенций»
Для детального самоанализа по выбору IT-профессии
Список грубых ошибок в IT, из-за которых сразу увольняют
Об этом мало кто рассказывает, но это должен знать каждый
Мини-тест из 11 вопросов от нашего личного психолога
Вы сразу поймете, что в данный момент тормозит ваш успех
Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.
Только до 16 февраля
Осталось 17 мест
Восстановление базы данных WordPress
Случается, что база данных WordPress оказывается поврежденной. Причин, по которым такое происходит, может быть несколько:
- неудачное обновление;
- сбой базы данных;
- некорректный плагин.
Непосредственно на сайте в таком случае вы все также увидите сообщение — «ошибка установки соединения с базой данных».
Попытаемся восстановить БД. Откройте файл wp-config.php с помощью текстового редактора:
sudo nano /var/www/html/wp-config.php
Вставьте в файл строку:
define(‘WP_ALLOW_REPAIR’, true);
Таким образом включается функция восстановления базы данных. Сохраните файл и закройте его.
Затем откройте браузер и перейдите по следующему URL:
http://www.example.com/wp-admin/maint/repair.php
Не забудьте заменить www.example.com на URL вашего сайта или укажите IP.
Тогда вы увидите следующее сообщение на экране:
WordPress can automatically look for some common database problems and repair them.
Выберите вариант Repair Database. В появившейся странице вы увидите процент проверенных и восстановленных данных.
После восстановления вернитесь к файлу wp-config.php. Удалите из него функцию, ответственную за восстановление базы данных. Это необходимо сделать из соображений безопасности, иначе доступ к восстановлению БД будет у всех.
Если после восстановления базы данных WordPress все еще выдает ошибку о проблеме соединения, восстановите базу данных из бэкапа (резервной копии).
Если же после проверки на странице с результатами вы не увидели исправлений, то ошибка соединения с базой данных не связана с самой базой данных.
Описанные выше способы устранения ошибки соединения зачастую достаточны для решения проблемы. В редких случаях причиной могут быть также вредоносные программы и атаки.
Дополнительные методы устранения ошибки установки соединения с БД
Следующие способы устранения ошибки установки соединения с базой данных категорически не рекомендуется использовать начинающим администраторам WordPress! Переходите к ним только в том случае, если не помогли методы, описанные ранее. Не используйте их, если у вас нет валидной резервной копии вашего сайта!
Читайте также
- Обновление настройки в wp_options
Некоторые пользователи отмечали, что ошибка была устранена после выполнения запроса к БД через phpMyAdmin:
[sql]UPDATE wp_options SET option_value=’ http://your_site.ru’ WHERE option_name=’siteurl’;[/sql]
Где вместо ’your_site.ru ‘укажите URL вашего сайта.
- Подключение к базе данных с правами root
Если вы используете виртуальный сервер и можете воспользоваться root правами, то попробуйте подключиться к БД через файл test.php. В случае успеха, попробуйте также подключиться к БД вашего сайта через файл wp-config.php. Затем проверьте работу сайта.
Работать на сервере под учётной записью root – большая ошибка. Обязательно создайте нового пользователя через phpMyAdmin. Не забудьте внести в wp-config.php файл логин и пароль созданного пользователя.
Профилактика возникновения ошибки установки соединения с базой данных
Никто не застрахован от ошибки установки соединения с базой данных при работе с Вордпресс. Однако, вы можете минимизировать шанс остановки сайта, если будете следовать следующим рекомендациям:
- Тщательно выбирайте хостинг-провайдера, который подходит именно для работы с CMS WordPress. Он должен иметь хорошую техподдержку, обеспечивать высокую скорость и стабильность. Зачастую проблемы в работе сайта связаны именно с хостингом.
- Регулярно делайте бэкап. Вы можете самостоятельно выбрать один из плагинов, например, UpdraftPlus, Duplicator или All-in-One WP Migration.
К сожалению, если вы не имеете доступ в панель управления сайта, то вы не сможете воспользоваться резервной копией. Тогда вам нужно будет воспользоваться программным обеспечением для управления хостингом. Например, ISPmanager. Он позволит вам сделать полную резервную копию сайта.
Если вы не хотите самостоятельно делать бэкап, можете обратиться в техподдержку хостинг-провайдера. Они предложат вам программу для резервного копирования.
На сайте ошибка базы данных
На сайте может отображаться одна из следующих ошибок подключения к базе данных:
- «Error Establishing a Database Connection»,
- «Database connection error (2): Could not connect to MySQL»,
- «DB error»,
- «Could not connect to MySQL»,
- «Невозможно подключиться к базе данных».
Ошибку могут вызвать две причины: сервер баз данных недоступен или неверно прописаны реквизиты подключения к базе данных. В первую очередь убедитесь, что сервер баз данных доступен. Если ошибка всё равно появляется, решите проблему по инструкции ниже.
Что делать, если неверно прописаны реквизиты подключения к базе данных
Ошибка может возникать, если в конфигурационном файле сайта неправильно указаны реквизиты базы данных: сервер, имя базы данных, имя пользователя и пароль.
Чтобы проверить реквизиты:
-
1.
Определите, как называется конфигурационный файл сайта. Если ваш сайт сделан на CMS, воспользуйтесь инструкцией: Где CMS хранит настройки подключения к базе данных. Если у вас самописный сайт, обратитесь к его разработчику или в службу поддержки.
-
2.
Войдите в панель управления хостингом, найдите и откройте конфигурационный файл. Он может располагаться как в корневой папке, так и в других директориях сайта.
-
3.
Проверьте в файле реквизиты. В качестве сервера базы данных должен быть прописан localhost (обратите внимание, не 127.0.0.1). Если вы используете удалённую базу данных на каком-либо другом сервере, пропишите его IP-адрес и убедитесь, что сервер доступен.
-
4.
Проверьте в файле имя базы данных (логин) и имя пользователя базы данных. Если вы используете базу данных по умолчанию, то они должны совпадать с именами, указанными в Личном кабинете: Доступы к MySQL. Если вы создавали новую базу самостоятельно, реквизиты можно посмотреть в панели управления.
-
5.
Обновите пароль базы данных. Скопируйте пароль, который указан в конфигурационном файле. Задайте его в качестве нового пароля пользователя базы данных: Как изменить пароль пользователя базы данных.
Готово, теперь ошибка должна быть устранена.
Ошибка WordPress «Error establishing database connection»
Вы пытаетесь зайти на свой сайт, созданный на WordPress, но вместо главной страницы видите пустое окно с сообщением об ошибке «Error establishing database connection» или «Ошибка установки соединения с базой данных». Рассмотрим причины появления этой ошибки и что потребуется предпринять, чтобы восстановить работоспособность сайта.
Причины возникновения ошибки установки соединения с базой данных
Ошибка установления соединения с базой данных – так расшифровывается ошибка, возникающая в WordPress, когда вместо главной страницы сайта в браузере вы видите белый экран с единственным сообщением «Error establishing database connection». Почему она возникла и что делать, чтобы привести сайт в рабочее состояние?
WordPress использует два основных компонента для работы: PHP и MySQL. PHP отвечает за функциональность вашего сайта, а в базе MySQL хранятся данные. Когда вы вводите в адресной строке имя сайта, вступает в действие PHP, который обращается к базе данных и извлекает из нее содержимое главной страницы. Когда PHP не может по каким-то причинам подключиться к MySQL, данные для отображения страницы отсутствуют и выводится сообщение об ошибке.
Эта ошибка может быть вызвана следующими причинами:
- Неверные логин и пароль для входа в базу данных. Любое изменение регистрационных данных при обращении к базе может перекрыть доступ к ней.
- Поврежденная база данных. Неудачные настройки, некорректные плагины, прерывание соединения при передаче данных в базу могли повредить ее содержимое.
- Не отвечает сервер, на котором расположена база данных. Сервер может не реагировать на запросы, если он отключен или находится в неработоспособном состоянии.
Проверка настройки конфигурации ВордПресс
Прежде всего следует проверить, используете вы правильные учетные данные для подключения к базе или они отличаются от тех, что записаны в конфигурационном файле.
- Запустите файловый менеджер (например, FileZilla) и подключитесь к серверу вашего хостинга, используя выданные вам при регистрации логин, пароль и имя сервера.
- Найдите файл wp-config.php, который расположен в корневом каталоге WordPress на сервере вашего хостинга, и откройте его для просмотра.
- Проверьте, верны ли регистрационные данные для входа в базу.
Если хотя бы один из учетных параметров – название базы данных (1), логин (2) и пароль (3) для входа, имя хоста (4) – не совпадает с данными сервера, в доступе к базе будет отказано.
Восстановление базы данных
Для восстановления базы данных средствами WordPress понадобится предпринять несколько шагов. Этот способ не требует специальных навыков и позволит восстановить базу относительно просто.
- Подключитесь к серверу через файловый менеджер.
- Откройте файл wp-config.php в режиме редактирования. Для этого щелкните правой кнопкой мыши на имени файла и выберите редактор кода. Обратите внимание, встроенный в Windows «Блокнот» не подойдет для правки кода, используйте, например, Notepad++.
- В последней строчке кода напечатайте: define (‘WP_ALLOW_REPAIR’, true);
- Сохраните изменения и закройте файл. Если потребуется, подтвердите перезапись обновленного файла wp-config.php.
Для выполнения следующего шага укажите в адресной строке браузера: имя-сайта/wp-admin/maint/repair.php, где вместо «имя-сайта» наберите название вашего сайта. В результате вы увидите экран с двумя возможными способами восстановления базы: «Починить базу данных» или «Починить и оптимизировать базу данных». Выберите один из вариантов, остальное сделает WordPress, вам нужно лишь немного подождать.
Внимание: После восстановления базы данных обязательно откройте файл wp-config.php еще раз и удалите строчку с кодом, которую вы туда добавили. В противном случае вы рискуете предоставить злоумышленникам полный доступ к вашей базе данных и потерять контроль над сайтом.
Перезапись базы из бэкапа на последнюю работоспособную версию
Если восстановление базы и проверка учетных данных решили проблему с появлением ошибки, вы можете продолжать работу над сайтом в нормальном режиме. В противном случае, возможно, ошибка возникает по причине поврежденной базы данных. Потребуется восстановить ее работоспособность из панели PHPMyAdmin, перезаписывая файлы из ранее сохраненного бэкапа.
Прежде чем приступить к процедуре восстановления, сделайте резервное копирование текущих файлов во избежание потери данных. Будьте аккуратны, выполняя действия в PHPMyAdmin, поскольку в этой панели вы напрямую работаете со служебными таблицами базы данных.
- Зайдите в PHPMyAdmin, используя логин и пароль, выданные хостинг-провайдером при регистрации.
- В левой панели показывается ваша база данных (1) с входящими в нее таблицами. В рабочей области выберите вкладку «Импорт» (2).
- Нажмите кнопку «Choose File» (3) и укажите расположение ранее сделанного бэкапа, из которого будет восстанавливаться база.
- Нажмите «ОК» (4), остальные данные, как правило, соответствуют стандартным настройкам WordPress и не требуют изменения.
Если ничего не помогло
Следует обратиться в техподдержку хостинга, если:
- Не удалось восстановить базу данных средствами WordPress;
- В PHPMyAdmin вы не обнаружили базу данных для вашего сайта;
- При попытке восстановления базы из панели PHPMyAdmin возникают ошибки.
В случае неудачи при использовании предложенных способов, может оказаться, что сервер не отвечает на запросы или настройки сервера не соответствуют необходимым. Свяжитесь с отделом технической поддержки, чтобы разобраться в ситуации.
iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.
Мы предлагаем:
- Виртуальные серверы с NVMe SSD дисками от 299 руб/мес
- Безлимитный хостинг на SSD дисках от 142 руб/мес
- Выделенные серверы в наличии и под заказ
- Регистрацию доменов в более 350 зонах
-
1.
Почему возникает “Ошибка установки соединения с базой данных” в WordPress? -
2.
Проверьте данные подключения к базе данных WordPress-
2.1.
Как узнать данные базы данных на хостинге Beget
-
2.1.
-
3.
Узнайте сервер размещения вашей базы данных -
4.
Восстановление базы данных WordPress -
5.
Проверьте работоспособность вашего сервера базы данных -
6.
Часто задаваемые вопросы
При открытии сайта вы увидели сообщение “Ошибка установки соединения с базой данных” на своём WordPress сайте? Это серьезная ошибка, которая делает ваш сайт недоступным для пользователей.
Причина ошибки установки соединения с базой данных заключается в том, что WordPress не может подключиться к вашей базе данных. На это может повлиять многое, от не правильной настройки до недоступности базы данных. С данной ошибкой сталкиваются как при установке WordPress, так и на работающем сайте.
В этой статье мы покажем вам, как легко исправить ошибку установки соединения с базой данных в WordPress.
“Ошибка установки соединения с базой данных” (Error establishing a database connection) может быть вызвана неправильной информацией о базе данных в файле wp-config.php, поврежденной базой данных или не отвечающим сервером.
База данных представляет из себя программное обеспечение, которое позволяет легко хранить, организовывать и передавать данные в другое программное обеспечение.
WordPress является CMS – системой управления контентом, поэтому использует базу данных для хранения всего вашего контента на сайте. Когда посетитель заходит на ваш сайт, WordPress подключается к базе данных, чтобы отобразить нужный контент.
Для подключения к базе данных, WordPress требуется следующая информация:
- Имя базы данных
- Имя пользователя базы данных
- Пароль пользователя базы данных
- Сервер базы данных
Эта информация хранится в файле конфигурации WordPress, который называется wp-config.php
.
Если какие то данные для подключения не верны, WordPress не сможет подключиться к базе данных и выдаст ошибку “Ошибка установки соединения с базой данных” на экране.
Это одна из самых распространенных ошибок в WordPress. помимо не верно введенных данных доступа к БД, эта ошибка также может появиться, если сервер базы данных перегружен или файлы базы данных повреждены.
Давайте рассмотрим способы решения данной проблемы пошагово.
Проверьте данные подключения к базе данных WordPress
Наиболее распространенная причина ошибки соединения с базой данных в WordPress – неверные данные подключения к базе данных. Если вы только устанавливаете WordPress или перенесли свой сайт на новых хостинг, то это наиболее вероятная причина.
Данные от вашей базы данных хранятся в файле wp-config.php
в корне сайта. Это файл конфигурации WordPress, который содержит важные настройки, включая информацию о БД.
Найдите следующие строки в файле wp-config.php
:
Вы должны убедиться, что данные о имени базы данных, имени пользователя, пароль и имя сервера указаны верно.
Вы можете проверить информацию в панели управления хостингом.
Как узнать данные базы данных на хостинге Beget
Если вы используете хостинг Beget (мы его рекомендуем), то зайдите в панель управления в раздел MySQL.
Вы увидите список всех своих баз данных.
Мы выделили все нужные места, на которые нужно обратить внимание.
- Сервер для подключения на хостинге beget – localhost
- Имя пользователя – Совпадает с именем базы данных – wptuts_wptuts
- Имя базы данных – wptuts_wptuts
- Пароль от базы данных потребуется сгенерировать снова. Сделано это в целях безопасности, чтобы старый пароль никто не смог узнать.
Теперь когда вы знаете все данные от базы данных – впишите их в файл wp_config.php
и сохраните изменения в файле.
После проделанных действия проверьте работоспособность сайта. Если всё заработало, то поздравляем, всё получилось.
Если вы всё ещё видите ошибку, значит проблема была не в правильности введенных данных для подключения. Давайте продолжим дальше изучать, в чем проблема.
Узнайте сервер размещения вашей базы данных
Если вы уверены, что имя базы данных, пользователя и пароль верны, но вы всё ещё получаете ошибку о соединении с БД, то проверьте информацию о сервере базы данных.
Большинство хостингов используют localhost в качестве хоста вашей базы данных. так делает и Beget. Однако некоторые хостинги могут использовать отдельный сервер для размещения базы данных. В этом случае localhost в качестве хоста не будет подходить.
Вам необходимо связаться с технической поддержкой вашего хостинга, чтобы уточнить правильность подключения. Они помогут решить эту проблему.
Восстановление базы данных WordPress
Если вы получаете ошибку в вашей админке “Одна или несколько таблиц базы данных недоступны. Возможно, база нуждается в ремонте.”, вам потребуется восстановить базу данных.
Вы можете это сделать, добавив следующую строку в ваш файл wp-config.php.
Обязательно добавьте эту строку перед строкой:
/* Это всё, дальше не редактируем. Успехов! */
или на английском
/* That’s all, stop editing! Happy publishing. */
Как только вы добавите эту строку, зайдите на страницу example.ru/wp-admin/maint/repair.php.
Нажмите кнопку “Починить и оптимизировать базу данных”, чтобы WordPress начал процесс восстановления базы данных.
Чтобы увидеть эту страницу, необязательно входить в панель управления под учетной записью администратора. Когда вы закончите восстановление и оптимизацию базы данных, обязательно удалите добавленную строчку из вашего wp-config.php
.
Проверьте работоспособность вашего сервера базы данных
Если вам кажется, что все настроено правильно, но WordPress всё ещё выдает ошибку “Ошибка установки соединения с базой данных”, возможно дело в сервере базы данных (MySQL сервер) и он не доступен.
Это может произойти из-за перегруженности сервера. Ваш хостинг не справляется с нагрузкой, которая возникает при большом количестве трафика.
В таком случае, сайт может работать очень медленно, а для некоторых посетителей сайт вообще может быть не доступен. Лучшее, что вы можете предпринять – позвонить своему хостинг-провайдеру или написать в поддержку. Задайте им вопрос, почему ваша база данных не отвечает.
Если у вас есть другие сайты, работающие на том же хостинге, вы можете проверить их работоспособность, работают ли у них базы данных.
В случае отсутствия у вас другого сайта на вашем хостинге, попробуйте войти в панель управления и зайти в phpMyAdmin.
Если вы смогли войти в phpMyAdmin, то следует проверить, имеет ли ваш пользователь базы данных достаточно уровней доступа.
Создайте новый файл в корне вашего сайта с именем testconnections.php и вставьте в него следующий код:
Обязательно замените имя пользователя (username) и пароль (password) на свои данные. Теперь вы можете открыть этот файл в браузере.
Если вы получите сообщение “Connected successfully”, то это означает, что у вашего пользователя достаточно прав и что то не так с хостингом.
Бывают случаи, что на хостингах происходят сбои или производится обновление программной или аппаратной части. В эти моменты может быть затруднена работа сервера. Свяжитесь с технической поддержкой хостинга и выясните причины сбоя.
Часто задаваемые вопросы
Где узнать данные от базы данных?
Для того, чтобы узнать данные от базы данных, нужно зайти в панель управления хостингом. В панели управления хостингом находится информация о сервере, названии базы данных, имени пользователя, который закреплен к этой базе данных. Зачастую, пароль от базы данных не находится в панели управления. Он часто отправляется письмом на ваш Email при создании базы данных. Если такого письма нет, то потребуется сбросить пароль на новый. Новый пароль нужно будет использовать в настройках wp-config.php, чтобы избежать ошибки установки соединения с MySQL базой данных.
У меня возникает ошибка установки соединения с базой данных при установке WordPress. Что делать?
Часто эта ошибка возникает, если вы не правильно ввели данные для подключения к базе данных. Проверьте, правильно ли вы ввели адрес сервера, имя базы, имя пользователя и пароль. Адрес сервера на некоторых хостингах – localhost. Если вы подключаетесь к базе данных, которая находится на другом сервере, то следует уточнить адрес сервера.
Надеемся, что мы смогли помочь решить проблему с “Ошибка установки соединения с базой данных” на вашем WordPress сайте. Пишите в комментарии, какой способ помог лично вам и какая проблема была с базой данных.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
The “error establishing a database connection” is probably one of the most common errors WordPress users can encounter. It’s closely tied to the white screen of death (WSOD). This error means your website is no longer communicating or has access to your WordPress database; thus, your entire website goes down.
You should resolve this error immediately, as this can directly affect your sales, traffic, and analytics.
But don’t worry, today we’ll discuss some common scenarios that cause this error and some easy ways to get your site back up and running in no time.
Check Out Our Video Guide to Fixing The “Error Establishing a Database Connection”
What Is The “Error Establishing a Database Connection”?
All the information on your WordPress site, such as post data, page data, meta information, plugin settings, login information, etc. is stored in your MySQL database. The only data not stored there is media content such as images and your theme/plugin/core files such as index.php, wp-login.php, etc.
When someone visits your website, PHP executes the code on the page, queries the information from the database, and then displays it to the visitor in their browser.
This error might just be tied with the White Screen of Death as one of the scariest errors you can encounter 💀 But this guide is here to help 💪Click to Tweet
If this isn’t working correctly, you are left with the “error establishing a database connection” message, as seen below. The entire page is blank because no data can be retrieved to render the page, as the connection is not working properly. Not only does this break the frontend of your site, but it will also prevent you from accessing your WordPress dashboard.
However, visitors might not see this error on the frontend right away. That is because your site is most likely still serving from cache until it expires. For example, at Kinsta, all WordPress sites are cached for one hour by default. Therefore, if a site is still serving from the cache, it might appear acceptable to a visitor.
At Kinsta, our support team can increase the duration of your cache to, say, an hour or even a week if you want. If you have a site that doesn’t change very often, this can increase your site’s performance as it does not have to grab new files as often after the cache expires. And in cases like the above, the frontend of the site in most cases (unless you have a script or part of your site breaking the cache) would stay up a lot longer.
When visitors try to access your site while this error is happening, it will generate a 500 HTTP status code in your logs. This same status code appears with an “internal server error.” It means that something went wrong on the server, and the requested resource was not delivered. When everything is working properly, your site will generate a 200 HTTP status code, which means everything is fine.
If you’re a Kinsta client, you could also look at the 500 error breakdown report in MyKinsta analytics to see if it’s something that has been a reoccurring problem.
What Are the Most Common Causes of This Error?
So why exactly does this happen? Well, here are a few common reasons below. And don’t worry, we will go into each of these more in-depth so you can know how to fix them. Typically you can resolve this error in under 15 minutes.
- The most common issue is that your database login credentials are incorrect. Your WordPress site uses separate login information to connect to its MySQL database.
- Your database is corrupted. With so many moving parts with themes, plugins, and users constantly deleting and installing them, sometimes databases get corrupted. This can be due to a missing or individually corrupted table, or perhaps some information was deleted by accident.
- You may have corrupt files in your WordPress installation. This can even happen sometimes due to hackers.
- Issues with your database server. Several things could be wrong on the web host’s end, such as overloading the database from a traffic spike or being unresponsive from too many concurrent connections. This is common with shared hosts as they utilize the same resources for many users on the same servers.
- A spike in traffic. Depending on the web host you use, your server might be unable to handle many concurrent database connections. An increase in traffic can lead to temporary problems with the database.
How To Fix The “Error Establishing a Database Connection”?
Before troubleshooting the error, we recommend taking a WordPress site backup. Many of the recommendations below involve manipulating information in your database, so you don’t want to make things worse. You should always backup before trying to fix things on your WordPress site, no matter how tech-savvy you think you are.
You can use a popular WordPress backup plugin such as VaultPress or WP Time Capsule to backup your files and database.
If you are a Kinsta user, you can take advantage of our one-click backup feature. Click into your WordPress site in MyKinsta, click on “Backups” and then on “Back up now.”
You then also have the option to restore a backup to production or staging. Or you can manually backup your MySQL database using phpMyAdmin. Once you have a successful backup, it is time to troubleshoot your database connection issues.
1. Check Your Database Login Credentials
The first thing to do is check to ensure your database login credentials are correct. This is by far the most common reason why the “error establishing a database connection” message occurs. Especially right after people migrate to a new hosting provider. The connection details for your WordPress site are stored in the wp-config.php file, which is generally located at the root of your WordPress site.
It contains four important pieces of information that must be correct for the connection to occur successfully.
Database Name
// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
MySQL database username
/** MySQL database username */
define('DB_USER', 'xxxxxx');
MySQL database password
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');
MySQL hostname (server)
/** MySQL hostname */
define('DB_HOST', 'localhost');
To access your wp-config.php file, you can connect to your site via SFTP and browse to the root of your site. Or, if you are using cPanel, you can click on “File Manager,” browse to the root of your site, and right-click to edit the file.
cPanel file manager
Here is an example below of what the file looks like when opened.
You need to now check your current values against those on your server to ensure they are correct. Follow the directions below for cPanel and Kinsta users.
Check Database Credentials in cPanel
The first thing to check is the database name. To do this, you must log in to phpMyAdmin in cPanel under the Databases section.
You should see your database name at the bottom on the left. You can ignore the “information_schema” database as this is something used by the host. You will then want to compare that name against the DB_NAME value in your wp-config.php file. If they match, then this isn’t the problem. If they don’t match, you need to update your wp-config.php file.
You can also verify this is the correct database by ensuring it contains your WordPress site’s URL. To do this, click on the database and then click into the wp_options table (this might be slightly different for security purposes, such as wpxx_options). At the top of the table, you will see values for your site’s URL and name. If these match your current site, you can rest assured you are in the right place.
If your database name was already correct and you still get the “error establishing a database connection” message, you will also want to check your username and password. To do this, you will need to create a new PHP file in the root directory of your WordPress site and input the following code. You can name it whatever you want, such as checkdb.php. Change the values of db_user and db_password with those in your wp-config.php file.
<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);
Then browse the file on your WordPress site: https://yourdomain.com/checkdb.php. If you get a “MySQL Error: Access denied,” then you know your username or password is wrong, and you will need to continue to the next step to reset your credentials.
Below is the message you want to see, “Database connection is working properly.” But of course, if it were, then you wouldn’t be here. Be sure to delete/remove this file after you are done testing.
So next, you need to reset your username and password. In cPanel, click on MySQL Databases under the Databases section.
Scroll down and create a new MySQL user. Try and pick a unique username and password so they can’t easily be guessed. The password generator tool they provide works excellent. Then click on “Create User.” Alternatively, you could change the password on this screen for the current database user.
Then scroll down and add your new user to your database. The next screen will ask which privileges you want to assign. Select “All Privileges.”
Then take those new credentials and update your wp-config.php file. You will want to update the DB_USER and DB_PASSWORD values. You could also rerun the test file from earlier. This should then resolve your credentials issue. If not, you could still have the wrong hostname (DB_HOST). Some hosts use different values.
See a list of some common DB host values. Typically this will be localhost. But you can always reach out to your hosting provider or check their documentation if you aren’t sure. Some might also use 127.0.0.1 instead of localhost.
If you have followed everything above and are still receiving the “error establishing a database connection” message, proceed to the following troubleshooting steps below.
Check Database Credentials With Kinsta
If you are a Kinsta user, checking your credentials against your wp-config.php file and the server is much easier! All you need to do is click on the info section of your site, and towards the bottom, you will see the database name, username, and password. By default, Kinsta uses localhost for the DB_HOST.
Then take those new credentials and update your wp-config.php file. You will want to update the DB_USER and DB_PASSWORD values. This should then resolve your credentials issue. If you need to reset these credentials, contact our support team. If you have followed everything above and are still receiving the “error establishing a database connection” message, proceed to the following troubleshooting steps below.
2. Repair Corrupt WordPress Database
In some cases, it could be that your database has become corrupt. This can occasionally happen (although not very often) as, over time, hundreds of tables are constantly added/removed by new plugins and themes. If you try to login to your WordPress site’s dashboard and are receiving the following error, it means your database is corrupt: “One or more database tables are unavailable. The database may need to be repaired.” It is important to note that you might only see this error on the back-end, whereas you see the “error establishing a database connection” message on the frontend.
WordPress has a database repair mode that you can initiate. Add the following to the bottom of your wp-config.php file.
define('WP_ALLOW_REPAIR', true);
Then browse to the following location on your WordPress site: https://yourdomain.com/wp-admin/maint/repair.php. You will then have the option to repair the database or repair and optimize the database. Since you are probably troubleshooting an outage on your site now, we recommend using the repair database option as it is quicker.
After running the repair of the database above, ensure that you remove the line of code you added to your wp-config.php file. Otherwise, anyone will be able to access the repair.php page. If you are running cPanel, you can also run a repair from within the MySQL databases screen.
Or you could run a repair from within phpMyAdmin. Simply log in to phpMyAdmin, click on your database, and select all the tables. Then from the dropdown, click on “Repair table.” This is essentially just running the REPAIR TABLE command.
And finally, your other option would be to run the repair using WP-CLI with the following command:
wp db repair
See more documentation on usage in the WordPress developer resources.
If you want to optimize your database, we have some great tutorials on how to optimize WordPress revisions for performance, along with how to convert your MyISAM tables to InnoDB. If you still have issues on your site, proceed to the next troubleshooting step.
Suggested reading: How to Fix the “MySQL Server Has Gone Away” Error in WordPress.
3. Fix Corrupt WordPress Files
The following possible reason you might see the “error establishing a database connection” message is that your WordPress core files have become corrupt. Whether this originated from an issue with transferring files via FTP, a hacker gaining access to your site, or a problem with your host, you can quickly fix this. However, we recommend taking a backup of your site before trying this.
You are going to replace the core version of WordPress on your site. You aren’t touching your plugins, themes, or media, just the WordPress installation itself.
However, you may lose any changes or custom code you’ve added to files such as .htaccess or wp-config.php. If you backed up your website before troubleshooting, you’d have copies of those files that you can restore later.
To get started, you must download a fresh WordPress copy from WordPress.org.
Unzip this file on your computer. Inside, you will want to delete the wp-content folder and the wp-config-sample.php file.
Then upload the remaining files via SFTP to your site, overwriting your existing files. This will replace all the problematic files and ensure you have fresh ones that are clean and not corrupted. It is recommended to clear your browser cache after doing this. Then check your WordPress site to see if the error still exists.
4. Check for Issues With Your Database Server
If nothing above has helped resolve your issue, we highly recommend checking with your hosting provider as it could be an issue with your database server. For example, if there are too many concurrent connections to your database at once, it could generate an error. This is because many hosts limit their servers on how many connections are allowed at once. Utilizing a caching plugin can help minimize the database interactions on your site. If you are a Kinsta client, you don’t need caching plugins, as we have fast server-level caching.
This problem can happen a lot on shared hosts, as someone else could theoretically be affecting your site. This is because shared hosts utilize all the same resources on servers. This is another reason we recommend using a high-performance managed WordPress host, so things aren’t overcrowded. It also means the environment is typically fine-tuned to handle large amounts of traffic, specifically to WordPress sites.
The knowledgeable Kinsta support team is always a click away on the bottom right side of the dashboard and available 24/7 if you need help. And don’t forget we have representatives to assist you in multiple languages, including English, Spanish, French, Italian, and Portuguese.
5. Restore Latest Backup
And last but not least, you can always resort to a backup if needed. In some cases, this might be a faster way to resolve the issue if you aren’t worried about losing any data between when your last backup was taken. Many hosts have their own backup restore process. Remember that you might need to restore both your database and your files.
If you are a Kinsta user, you can quickly restore a backup of your site within the Backups section of your site. Choose the time you want to revert and click on “Restore to.” You can then select whether you want to restore to Staging or your Live site.
You will then be prompted to confirm the restoration. Enter your site name and click on “OK.” It also creates a backup at the restoration time so you can undo the restoration if needed.
This error is not something to be taken lightly & can directly affect your sales, traffic, and analytics 😬 Learn how to fix it here ✅Click to Tweet
Summary
As you can see, there are quite a few ways to fix the “error establishing a database connection” in WordPress. The most common being invalid credentials in the wp-config.php file. Checking to ensure those are correct is the best place to start. The last thing you want for a website is to experience downtime.
Hopefully, one of the steps above helped you get your site back up and running. Remember, you can always restore your site from a backup if needed.
Have you experienced the “error establishing a database connection” message on your site? If so, were you able to resolve it? Let us know below in the comments.
Get all your applications, databases and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 275 PoPs worldwide
Test it yourself with $20 off your first month of Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.
The “error establishing a database connection” is probably one of the most common errors WordPress users can encounter. It’s closely tied to the white screen of death (WSOD). This error means your website is no longer communicating or has access to your WordPress database; thus, your entire website goes down.
You should resolve this error immediately, as this can directly affect your sales, traffic, and analytics.
But don’t worry, today we’ll discuss some common scenarios that cause this error and some easy ways to get your site back up and running in no time.
Check Out Our Video Guide to Fixing The “Error Establishing a Database Connection”
What Is The “Error Establishing a Database Connection”?
All the information on your WordPress site, such as post data, page data, meta information, plugin settings, login information, etc. is stored in your MySQL database. The only data not stored there is media content such as images and your theme/plugin/core files such as index.php, wp-login.php, etc.
When someone visits your website, PHP executes the code on the page, queries the information from the database, and then displays it to the visitor in their browser.
This error might just be tied with the White Screen of Death as one of the scariest errors you can encounter 💀 But this guide is here to help 💪Click to Tweet
If this isn’t working correctly, you are left with the “error establishing a database connection” message, as seen below. The entire page is blank because no data can be retrieved to render the page, as the connection is not working properly. Not only does this break the frontend of your site, but it will also prevent you from accessing your WordPress dashboard.
However, visitors might not see this error on the frontend right away. That is because your site is most likely still serving from cache until it expires. For example, at Kinsta, all WordPress sites are cached for one hour by default. Therefore, if a site is still serving from the cache, it might appear acceptable to a visitor.
At Kinsta, our support team can increase the duration of your cache to, say, an hour or even a week if you want. If you have a site that doesn’t change very often, this can increase your site’s performance as it does not have to grab new files as often after the cache expires. And in cases like the above, the frontend of the site in most cases (unless you have a script or part of your site breaking the cache) would stay up a lot longer.
When visitors try to access your site while this error is happening, it will generate a 500 HTTP status code in your logs. This same status code appears with an “internal server error.” It means that something went wrong on the server, and the requested resource was not delivered. When everything is working properly, your site will generate a 200 HTTP status code, which means everything is fine.
If you’re a Kinsta client, you could also look at the 500 error breakdown report in MyKinsta analytics to see if it’s something that has been a reoccurring problem.
What Are the Most Common Causes of This Error?
So why exactly does this happen? Well, here are a few common reasons below. And don’t worry, we will go into each of these more in-depth so you can know how to fix them. Typically you can resolve this error in under 15 minutes.
- The most common issue is that your database login credentials are incorrect. Your WordPress site uses separate login information to connect to its MySQL database.
- Your database is corrupted. With so many moving parts with themes, plugins, and users constantly deleting and installing them, sometimes databases get corrupted. This can be due to a missing or individually corrupted table, or perhaps some information was deleted by accident.
- You may have corrupt files in your WordPress installation. This can even happen sometimes due to hackers.
- Issues with your database server. Several things could be wrong on the web host’s end, such as overloading the database from a traffic spike or being unresponsive from too many concurrent connections. This is common with shared hosts as they utilize the same resources for many users on the same servers.
- A spike in traffic. Depending on the web host you use, your server might be unable to handle many concurrent database connections. An increase in traffic can lead to temporary problems with the database.
How To Fix The “Error Establishing a Database Connection”?
Before troubleshooting the error, we recommend taking a WordPress site backup. Many of the recommendations below involve manipulating information in your database, so you don’t want to make things worse. You should always backup before trying to fix things on your WordPress site, no matter how tech-savvy you think you are.
You can use a popular WordPress backup plugin such as VaultPress or WP Time Capsule to backup your files and database.
If you are a Kinsta user, you can take advantage of our one-click backup feature. Click into your WordPress site in MyKinsta, click on “Backups” and then on “Back up now.”
You then also have the option to restore a backup to production or staging. Or you can manually backup your MySQL database using phpMyAdmin. Once you have a successful backup, it is time to troubleshoot your database connection issues.
1. Check Your Database Login Credentials
The first thing to do is check to ensure your database login credentials are correct. This is by far the most common reason why the “error establishing a database connection” message occurs. Especially right after people migrate to a new hosting provider. The connection details for your WordPress site are stored in the wp-config.php file, which is generally located at the root of your WordPress site.
It contains four important pieces of information that must be correct for the connection to occur successfully.
Database Name
// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');
MySQL database username
/** MySQL database username */
define('DB_USER', 'xxxxxx');
MySQL database password
/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');
MySQL hostname (server)
/** MySQL hostname */
define('DB_HOST', 'localhost');
To access your wp-config.php file, you can connect to your site via SFTP and browse to the root of your site. Or, if you are using cPanel, you can click on “File Manager,” browse to the root of your site, and right-click to edit the file.
cPanel file manager
Here is an example below of what the file looks like when opened.
You need to now check your current values against those on your server to ensure they are correct. Follow the directions below for cPanel and Kinsta users.
Check Database Credentials in cPanel
The first thing to check is the database name. To do this, you must log in to phpMyAdmin in cPanel under the Databases section.
You should see your database name at the bottom on the left. You can ignore the “information_schema” database as this is something used by the host. You will then want to compare that name against the DB_NAME value in your wp-config.php file. If they match, then this isn’t the problem. If they don’t match, you need to update your wp-config.php file.
You can also verify this is the correct database by ensuring it contains your WordPress site’s URL. To do this, click on the database and then click into the wp_options table (this might be slightly different for security purposes, such as wpxx_options). At the top of the table, you will see values for your site’s URL and name. If these match your current site, you can rest assured you are in the right place.
If your database name was already correct and you still get the “error establishing a database connection” message, you will also want to check your username and password. To do this, you will need to create a new PHP file in the root directory of your WordPress site and input the following code. You can name it whatever you want, such as checkdb.php. Change the values of db_user and db_password with those in your wp-config.php file.
<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);
Then browse the file on your WordPress site: https://yourdomain.com/checkdb.php. If you get a “MySQL Error: Access denied,” then you know your username or password is wrong, and you will need to continue to the next step to reset your credentials.
Below is the message you want to see, “Database connection is working properly.” But of course, if it were, then you wouldn’t be here. Be sure to delete/remove this file after you are done testing.
So next, you need to reset your username and password. In cPanel, click on MySQL Databases under the Databases section.
Scroll down and create a new MySQL user. Try and pick a unique username and password so they can’t easily be guessed. The password generator tool they provide works excellent. Then click on “Create User.” Alternatively, you could change the password on this screen for the current database user.
Then scroll down and add your new user to your database. The next screen will ask which privileges you want to assign. Select “All Privileges.”
Then take those new credentials and update your wp-config.php file. You will want to update the DB_USER and DB_PASSWORD values. You could also rerun the test file from earlier. This should then resolve your credentials issue. If not, you could still have the wrong hostname (DB_HOST). Some hosts use different values.
See a list of some common DB host values. Typically this will be localhost. But you can always reach out to your hosting provider or check their documentation if you aren’t sure. Some might also use 127.0.0.1 instead of localhost.
If you have followed everything above and are still receiving the “error establishing a database connection” message, proceed to the following troubleshooting steps below.
Check Database Credentials With Kinsta
If you are a Kinsta user, checking your credentials against your wp-config.php file and the server is much easier! All you need to do is click on the info section of your site, and towards the bottom, you will see the database name, username, and password. By default, Kinsta uses localhost for the DB_HOST.
Then take those new credentials and update your wp-config.php file. You will want to update the DB_USER and DB_PASSWORD values. This should then resolve your credentials issue. If you need to reset these credentials, contact our support team. If you have followed everything above and are still receiving the “error establishing a database connection” message, proceed to the following troubleshooting steps below.
2. Repair Corrupt WordPress Database
In some cases, it could be that your database has become corrupt. This can occasionally happen (although not very often) as, over time, hundreds of tables are constantly added/removed by new plugins and themes. If you try to login to your WordPress site’s dashboard and are receiving the following error, it means your database is corrupt: “One or more database tables are unavailable. The database may need to be repaired.” It is important to note that you might only see this error on the back-end, whereas you see the “error establishing a database connection” message on the frontend.
WordPress has a database repair mode that you can initiate. Add the following to the bottom of your wp-config.php file.
define('WP_ALLOW_REPAIR', true);
Then browse to the following location on your WordPress site: https://yourdomain.com/wp-admin/maint/repair.php. You will then have the option to repair the database or repair and optimize the database. Since you are probably troubleshooting an outage on your site now, we recommend using the repair database option as it is quicker.
After running the repair of the database above, ensure that you remove the line of code you added to your wp-config.php file. Otherwise, anyone will be able to access the repair.php page. If you are running cPanel, you can also run a repair from within the MySQL databases screen.
Or you could run a repair from within phpMyAdmin. Simply log in to phpMyAdmin, click on your database, and select all the tables. Then from the dropdown, click on “Repair table.” This is essentially just running the REPAIR TABLE command.
And finally, your other option would be to run the repair using WP-CLI with the following command:
wp db repair
See more documentation on usage in the WordPress developer resources.
If you want to optimize your database, we have some great tutorials on how to optimize WordPress revisions for performance, along with how to convert your MyISAM tables to InnoDB. If you still have issues on your site, proceed to the next troubleshooting step.
Suggested reading: How to Fix the “MySQL Server Has Gone Away” Error in WordPress.
3. Fix Corrupt WordPress Files
The following possible reason you might see the “error establishing a database connection” message is that your WordPress core files have become corrupt. Whether this originated from an issue with transferring files via FTP, a hacker gaining access to your site, or a problem with your host, you can quickly fix this. However, we recommend taking a backup of your site before trying this.
You are going to replace the core version of WordPress on your site. You aren’t touching your plugins, themes, or media, just the WordPress installation itself.
However, you may lose any changes or custom code you’ve added to files such as .htaccess or wp-config.php. If you backed up your website before troubleshooting, you’d have copies of those files that you can restore later.
To get started, you must download a fresh WordPress copy from WordPress.org.
Unzip this file on your computer. Inside, you will want to delete the wp-content folder and the wp-config-sample.php file.
Then upload the remaining files via SFTP to your site, overwriting your existing files. This will replace all the problematic files and ensure you have fresh ones that are clean and not corrupted. It is recommended to clear your browser cache after doing this. Then check your WordPress site to see if the error still exists.
4. Check for Issues With Your Database Server
If nothing above has helped resolve your issue, we highly recommend checking with your hosting provider as it could be an issue with your database server. For example, if there are too many concurrent connections to your database at once, it could generate an error. This is because many hosts limit their servers on how many connections are allowed at once. Utilizing a caching plugin can help minimize the database interactions on your site. If you are a Kinsta client, you don’t need caching plugins, as we have fast server-level caching.
This problem can happen a lot on shared hosts, as someone else could theoretically be affecting your site. This is because shared hosts utilize all the same resources on servers. This is another reason we recommend using a high-performance managed WordPress host, so things aren’t overcrowded. It also means the environment is typically fine-tuned to handle large amounts of traffic, specifically to WordPress sites.
The knowledgeable Kinsta support team is always a click away on the bottom right side of the dashboard and available 24/7 if you need help. And don’t forget we have representatives to assist you in multiple languages, including English, Spanish, French, Italian, and Portuguese.
5. Restore Latest Backup
And last but not least, you can always resort to a backup if needed. In some cases, this might be a faster way to resolve the issue if you aren’t worried about losing any data between when your last backup was taken. Many hosts have their own backup restore process. Remember that you might need to restore both your database and your files.
If you are a Kinsta user, you can quickly restore a backup of your site within the Backups section of your site. Choose the time you want to revert and click on “Restore to.” You can then select whether you want to restore to Staging or your Live site.
You will then be prompted to confirm the restoration. Enter your site name and click on “OK.” It also creates a backup at the restoration time so you can undo the restoration if needed.
This error is not something to be taken lightly & can directly affect your sales, traffic, and analytics 😬 Learn how to fix it here ✅Click to Tweet
Summary
As you can see, there are quite a few ways to fix the “error establishing a database connection” in WordPress. The most common being invalid credentials in the wp-config.php file. Checking to ensure those are correct is the best place to start. The last thing you want for a website is to experience downtime.
Hopefully, one of the steps above helped you get your site back up and running. Remember, you can always restore your site from a backup if needed.
Have you experienced the “error establishing a database connection” message on your site? If so, were you able to resolve it? Let us know below in the comments.
Get all your applications, databases and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:
- Easy setup and management in the MyKinsta dashboard
- 24/7 expert support
- The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
- An enterprise-level Cloudflare integration for speed and security
- Global audience reach with up to 35 data centers and 275 PoPs worldwide
Test it yourself with $20 off your first month of Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.
Когда сайт перестает работать — это неприятно, особенно если это происходит само по себе не по нашей вине.
Вы заходите на сайт и получаете такую ошибку:
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.
Как найти проблемный плагин или тему:
- Подключитесь к серверу по FTP. Одна из хороших бесплатных программ для этого FileZilla.
Чтобы подключиться к серверу, вам нужен логин и пароль. Если вы не знаете логин и пароль, попробуйте найти первое письмо, которое вы получили от хостинга после оплаты аккаунта.
Если письма нет, зайдите на хостинг, в разделе FTP вы можете найти существующее подключение и посмотреть логин и пароль. Или создайте новое подключение. Если затрудняетесь — обратитесь в техподдержку.
После подключения перейдите в корневую папку сайта. Корневая папка обычно называется «public_html» или «www», или вы уже можете быть в корневой директории после подключения к серверу.
- Зайдите в папку «wp-content» и переименуйте папку «plugins», например, в «plugins1».
- Зайдите на сайт в браузере и проверьте, пропала ли ошибка.
Если ошибка пропала, значит, проблема в каком-то плагине. Вернитесь на сервер по FTP и переименуйте папку с плагинами обратно в «plugins».
Зайдите внутрь папки с плагинами и переименуйте названия папок с отдельными плагинами одну за одной. Добавьте какой-нибудь символ к названию каждой папки, например, «1».
Отключайте плагины по одному таким образом и возвращайтесь на сайт, пока не найдете, какой плагин вызывает проблему. Удалите этот плагин или попробуйте найти решение проблемы с этим плагином в Интернете.
- Если проблема не пропала даже после переименования папки «plugins», сделайте то же самое с папкой «themes».
- Если это не помогло, переименуйте обе папки обратно в «plugins» и «themes». Проблема находится где-то еще.
Шаг 3. Проверьте, что база данных не повреждена
База данных Вордпресс довольно сложная вещь, поэтому если происходит даже небольшой сбой, вы можете увидеть ошибку соединения с базой данных.
- Проверьте, что у вас есть доступ в админку:
ваш-сайт.ru/wp-admin
Если вы видите ту же ошибку “error establishing a database connection”, пропустите это шаг.
- Если вы видите что-то другое, прочитайте что Вордпресс предлагает вам сделать. В последних версиях Вордпресс улучшил решение проблем, возникающих при использовании системы, и предлагает варианты решений. Например, вы можете увидеть такое сообщение:
Еще один вариант — вы можете увидеть сообщение, которое начинается с «Одна или несколько таблиц базы данных…». Это значит, что вам нужно восстановить базу данных.
Чтобы восстановить БД, подключитесь к серверу по 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 и настройте бэкап на хостинге. Если что-то пойдет не так, у вас всегда будет копия для восстановления.
Читайте также:
- База данных Вордпресс
- Очистка и оптимизация базы данных
- Как изменить префикс базы данных
- Безопасность Вордпресс. Подробное описание
Надеюсь, статья была полезна. Оставляйте комментарии.
15 мая, 2017 11:51 дп
25 820 views
| 1 комментарий
MariaDB, mySQL
WordPress – одна из популярнейших открытых систем управления контентом. Изначально платформа WordPress разрабатывалась для блогов, однако со временем она стала более гибкой и производительной, и теперь подходит для обслуживания практически любого сайта. WordPress разрабатывается почти 15 лет; сегодня это очень надёжная и ошибкоустойчивая система, однако и в ней иногда случаются сбои и ошибки.
Ошибка установки соединения с базой данных (Error Establishing Database Connection) – одна из самых распространённых ошибок WordPress. Обычно её вызывает:
- Сбой БД (чаще всего из-за нехватки памяти).
- Неправильные учётные данные БД в настройках WordPress.
- Нарушение таблиц базы данных WordPress.
В этом руководстве вы узнаете, как определить причину ошибки установки соединения с БД и исправить её.
Требования
- Машина с предустановленной платформой WordPress.
- Доступ к sudo.
- База данных должна быть запущена на одной машине с WordPress.
- Учётные данные БД: имя пользователя, пароль и имя базы данных для WordPress. Эта информация была создана во время начальной настройки WordPress.
1: Проверка памяти сервера
Для начала нужно убедиться, что MySQL работает, и что на сервере достаточно памяти для обработки данных WordPress.
Подключитесь к серверу по SSH:
ssh 8host@your_server_ip
Примечание: Если вы уверены, что правильно указали учётные данные, но у вас по-прежнему возникают проблемы при входе в систему, возможно, на сервере не хватает памяти или он не справляется с большой нагрузкой. Это случается из-за неожиданного роста трафика, и этим можно объяснить ошибку WordPress. Попробуйте перезагрузить сервер и подключиться снова.
Подключившись к серверу, убедитесь, что MySQL работает:
sudo netstat -plt
Команда netstat выводит информацию о сетевой системе сервера. Приведённая выше команда выведет имена программ, которые прослушивают соединения на сокете tcp (флаги –p, –l и –t соответственно). В выводе найдите mysqld:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:mysql *:* LISTEN 1958/mysqld
tcp 0 0 *:ssh *:* LISTEN 2205/sshd
tcp 0 0 localhost:smtp *:* LISTEN 2361/master
tcp6 0 0 [::]:http [::]:* LISTEN 16091/apache2
tcp6 0 0 [::]:ssh [::]:* LISTEN 2205/sshd
tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN 2361/master
Если такая программа есть в выводе команды, значит, сервер MySQL запущен и прослушивает соединения. Если вы не нашли MySQL в списке, попробуйте запустить сервер вручную. Обычно для этого используется команда:
sudo systemctl start mysql
Примечание: В некоторых дистрибутивах Linux (например, в CentOS) используется mysqld вместо mysql.
Сервер MySQL должен запуститься. Чтобы убедиться в этом, снова запустите netstat и найдите в выводе строку mysqld.
Для корректной работы MySQL и WordPress нужно довольно много памяти. Сервер MySQL может прекратить работу из-за нехватки памяти. Чтобы убедиться, что ошибка произошла по этой причине, проверьте логи ошибок MySQL.
zgrep -a "allocate memory" /var/log/mysql/error.log*
Команда zgrep выполнит поиск по логам, включая более старые логи в архиве с расширением .tar.gz. Команда будет искать в логах error.log* из каталога /var/log/mysql/ все строки с пометкой allocate memory.
2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
Если вы видите на экране такую строку (или несколько таких строк), значит, причина ошибки подключения к БД в нехватке памяти для работы MySQL. Возможно, это произошло из-за резкого роста трафика. Если в выводе много таких строк, значит, сервер сталкивается с нехваткой памяти регулярно. В таком случае рекомендуется переместить ресурс на сервер с большим объёмом памяти. Большинство провайдеров облачного хостинга позволяют просто обновить свой сервер с минимальным временем простоя.
Если команда zgrep не вернула ничего, памяти на сервер достаточно для обработки данных WordPress и MySQL. Если ошибка установки соединения с БД не исчезла, нужно проверить настройки WordPress и убедиться, что в них указаны правильные данные о MySQL.
2: Проверка учётных данных MySQL
Если вы недавно переместили установку WordPress на новый сервер (или сменили хостинг-провайдера), вам нужно обновить информацию о БД в настройках WordPress. Они хранятся в PHP-файле wp-config.php.
Найдите этот файл:
sudo find / -name "wp-config.php"
Команда выполнит поиск в root-каталоге и найдёт все файлы wp-config.php. Если такой файл существует, команда выведет путь к нему:
/var/www/html/wp-config.php
Откройте его в текстовом редакторе:
sudo nano /var/www/html/wp-config.php
Этот файл содержит много переменных и комментариев к ним. В начале файла можно найти строки, отвечающие за настройки БД:
/** The name of the database for WordPress */
define('DB_NAME', 'database_name');
/** MySQL database username */
define('DB_USER', 'database_username');
/** MySQL database password */
define('DB_PASSWORD', 'database_password');
Убедитесь, что эти три переменные содержат правильные данные. Если здесь указаны неправильные значения, откорректируйте их, а затем сохраните и закройте файл (CTRL-O, CTRL-X). Даже если теперь в файле указана валидная информация о БД, стоит попробовать подключиться к базе данных из командной строки, чтобы убедиться, что ошибка исчезла. Скопируйте из конфигурационного файла и вставьте данные в следующую команду:
mysqlshow -u database_username -p
Команда запросит пароль. Вставьте пароль и нажмите Enter. Если вы при этом получили ошибку Access denied, значит, вы указали неправильное имя пользователя или пароль.
Если учётные данные введены правильно, вы увидите на экране список баз данных, к которым есть доступ у текущего пользователя.
+--------------------+
| Databases |
+--------------------+
| information_schema |
| database_name |
+--------------------+
Убедитесь, что в этом списке есть БД, указанная в конфигурации WordPress. Перезапустите сайт и убедитесь, что ошибка подключения к БД исчезла.
Если исправить ошибку не удалось, попробуйте восстановить БД.
3: Восстановление базы данных WordPress
Иногда база данных WordPress может быть повреждена во время неудачного обновления, сбоя базы данных или из-за неправильного плагина. Эта проблема может отображаться как ошибка установки соединения с базой данных. Если проблему не удалось устранить с помощью предыдущих методов, попробуйте восстановить базу данных.
WordPress предоставляет встроенную утилиту для восстановления БД. По умолчанию она отключена (поскольку к ней нельзя ограничить доступ, а значит, она представляет угрозу безопасности сервера).
Откройте wp-config.php.
sudo nano /var/www/html/wp-config.php
Вставьте в файл такую строку:
define('WP_ALLOW_REPAIR', true);
Эта строка включает функцию восстановления БД.
Сохраните и закройте файл.
Откройте браузер и перейдите по следующему адресу:
http://www.example.com/wp-admin/maint/repair.php
Примечание: Вместо www.example.com укажите свой домен или IP.
На экране появится страница восстановления базы данных:
WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient. […]
Нажмите кнопку Repair Database. На экране появится страница с результатами, где вы сможете отслеживать проверку и исправления в реальном времени.
После этого снова откройте файл wp-config.php и удалите из него строку, которая включает поддержку утилиты восстановления БД.
Проверьте работу сайта. Если WordPress обнаружил в БД ошибки, которые не удалось исправить, попробуйте восстановить БД из резервной копии.
Читайте также: Импорт и экспорт баз данных MySQL и MariaDB
Если утилита WordPress не обнаружила проблем с базой данных, значит, БД также не является источником ошибки соединения. Возможно, это какая-то временная ошибка.
В большинстве случаев ошибку установки соединения можно устранить при помощи предложенных выше методов. Однако иногда источником ошибки являются атаки или нехватка серверных ресурсов.
Часто источником повышенного трафика (а также низкой производительности и ошибок) являются brute-force атаки. Чтобы узнать, как смягчить атаки WordPress, читайте статью Защита WordPress от взлома XML-RPC в Ubuntu 14.04.
Чтобы сэкономить ресурсы сервера, настройте кэширование WordPress. Полезные инструкции вы найдёте в руководстве Настройка кэширования Redis для ускорения WordPress.
Tags: MySQL, WordPress
Ничто не может расстроить владельца веб-сайта WordPress, как появление на экране сообщения типа «Ошибка установления соединения с базой данных». Мы все паникуем после того, как замечаем какой-либо сбой, из-за которого наш веб-сайт WordPress не работает (например: «Эта учетная запись была заблокирована» – WordPress не работает).
Не расстраивайся. Хотя это может показаться серьезной проблемой, уверяем – ее легко решить. В этой статье вы узнаете, как исправить ошибку при установлении соединения с базой данных на веб-сайте WordPress, а также обсудим основные причины появления этой ошибки и способы ее предотвращения.
Когда появляется сообщение об ошибке подключения к базе данных?
Прежде чем мы это объясним, позвольте рассказать, как веб-сайт связан с базой данных. WordPress хранит весь контент вашего веб-сайта в базе MySQL. Он использует команды PHP для подключения к базе данных MySQL, получения необходимой информации, а затем отображает все на экране.
Теперь, когда посетитель посещает сайт, PHP выполняет код на странице, а затем запрашивает информацию в базе данных. После этого содержимое страницы отображается в браузере посетителя. Проблема возникает, когда по какой-то причине процесс не работает должным образом или код не выполняется. WordPress не понимает, что делать дальше, и выдает сообщение, как показано ниже.
Что означает эта ошибка?
Каждый бит информации, представленной на сайте WordPress, хранится в базе данных MySQL. Сюда входят записи, страницы, дизайн макета, виджеты, темы, плагины и многое другое. Проще говоря, каждый бит информации о сайте хранится в базе.
Когда получаете такую ошибку, это означает, что сайт больше не взаимодействует или не имеет доступа к базе данных, и, таким образом, весь сайт перестает работать. В результате пользователь не видит никакого контента. Пустой белый экран с сообщением «соединение не работает должным образом» отображается всякий раз, когда какой-либо пользователь пытается подключиться к вашему сайту.
Это своего рода код ошибки HTTP 500, который означает «Коды ошибок сервера, указывающие, что запрос был принят, но ошибка на сервере помешала выполнению запроса». Этот же код состояния появляется, когда есть «внутренняя ошибка сервера».
По сути, это означает, что на сервере что-то пошло не так и запрошенный ресурс не был доставлен. Когда все работает правильно, сайт сгенерирует код состояния HTTP 200, что означает, что все в порядке. Это код доставляется, когда веб-страница или ресурс действуют именно так, как от них ожидается.
Наиболее частые причины этой ошибки в WordPress
Вот несколько распространенных причин, объясняющих, почему именно эта ошибка возникает на веб-сайте WordPress:
Неверные учетные данные для входа в базу в конфигурации WP
Наиболее частой причиной возникновения такой ошибки являются неправильные учетные данные для входа в базу. Нет похожих учетных данных для входа на сайт WordPress и входа в базу. Для входа в базу требуются отдельные учетные данные, которые слишком сложно угадать. Если произойдет какое-либо изменение имени пользователя или пароля, WordPress не сможет получить какую-либо информацию из базы данных.
Поврежденная база данных
Что делать, если база данных повреждена? Да, это может быть причиной ошибки. У всех есть плагины и темы старых версий, которые больше не используются. Но никто не тратит время на их деактивацию или удаление. Так возникают лазейки, позволяющие хакерам легко взломать сайт.
Другой возможностью может быть неудачное обновление базы WordPress, которое включает в себя пропущенные плагины, темы или даже сбой в обновлении программного обеспечения WordPress.
Смотрите также:
Как восстановить поврежденную базу данных в WordPress: 2 метода.
Взломанные файлы в установке WordPress
Возможно, в установке WordPress есть определенные поврежденные файлы, которые создают ошибку, связанную с базой данных. Такие файлы могут быть лазейками или бэкдорами, размещенными хакерами для восстановления доступа к вашему сайту.
Проблемы с сервером базы данных
На сервере могут быть проблемы, требующие быстрого решения. Например:
- База данных перегружается из-за трафика.
- Слишком большое количество запросов на одновременное подключение. Хотя это хорошо для вашего сайта, но может создать проблемы.
Этот тип проблемы обычно возникает из-за общего хостинга, когда несколько пользователей размещаются на одном сервере.
Таблицы базы данных WordPress были повреждены
Иногда таблицы повреждаются по разным причинам, и это одна из распространенных проблем, вызывающих ошибку при установлении соединения с базой данных.
Как исправить ошибку при установлении соединения с базой данных?
Прежде чем приступить к устранению этой ошибки, рекомендуем нашим читателям сделать резервную копию сайта вместе с базой данных. Сделайте это привычкой всякий раз, когда пытаетесь исправить любую ошибку на своем веб-сайте WordPress.
Есть несколько плагинов, которые автоматически делают резервную копию сайта, поэтому не нужно делать это вручную каждый раз, когда обновляете свой сайт или вносите в него какие-либо изменения. Можно использовать плагины резервного копирования WordPress, такие как UpdraftPlus или Duplicator, для резервного копирования как файлов, так и базы данных.
Теперь приступим к поиску и устранению неисправностей.
Проверьте учетные данные для входа в базу
Основная причина появления этого сообщения – неправильные учетные данные, используемые для входа в базу. Это происходит с большинством людей, которые перешли на новый хост. Убедитесь, что используете правильный логин и пароль.
Детали подключения для сайта WordPress хранятся в файле wp-config.php.
Файл содержит четыре важных элемента информации, которые должны быть верными для успешного подключения.
- Имя базы данных («DB_NAME»)
- Имя пользователя для входа («DB_USER»)
- Пароль для входа («DB_PASSWORD»)
- Хост («DB_HOST»)
Если любое из этих значений неверно, WordPress не сможет подключиться к базе данных.
Имя
// ** настройки MySQL ** // / ** Имя базы данных для WordPress * / определить ('DB_NAME', 'xxxxxx');
Имя пользователя MySQL
/ ** имя пользователя базы данных MySQL * / определить ('DB_USER', 'xxxxxx');
Пароль MySQL
/ ** пароль базы данных MySQL * / определить ('DB_PASSWORD', 'xxxxxxxxx');
Имя хоста MySQL (сервер)
/ ** Имя хоста MySQL * / определить ('DB_HOST', 'локальный');
Вы можете легко найти файл wp-config.php в cPanel. Просто щелкните «Диспетчер файлов», перейдите в корень своего сайта и щелкните правой кнопкой мыши для редактирования файла. Здесь нужно сверить все входные значения с теми, которые есть на сервере, чтобы убедиться, что они верны.
DB_Name: Первое, что нужно проверить, – это имя базы данных. Вы можете проверить его через панель управления cPanel. Войдите в phpMyAdmin и проверьте имя своей базы данных.
Когда кликните на имя своей базы данных, появляется экран со списком имен таблиц. Нажмите кнопку «Обзор» рядом с таблицей с именем wp-options и посмотрите, найдете ли вы имя и URL-адрес своего сайта вместе с другими настройками.
Если да и имя совпадает с вашей записью в wp-config, у вас правильная запись. Если URL-адрес правильный, но ваш файл wp-config неверен, измените имя в нем, чтобы оно соответствовало нужной базе данных.
Затем проверьте имя пользователя и пароль. Это можно проверить двумя способами:
Создайте тестовый файл PHP, чтобы проверить, подключаются ли учетные данные из wp-config к базе. Вставьте следующий код:
<?php $test Connection = mysql_connect('localhost', 'root', 'password'); if (!$testConnection) { die('Error: ' . mysql_error()); } echo 'Database connection working!'; mysql_close($testConnection); ?>
Добавьте учетные данные в новый текстовый файл и сохраните его.
Теперь введите URL-адрес файла в свой браузер и попробуйте; вы получите сообщение «Подключено успешно» или «Не удалось подключиться».
Если вы не нашли имя пользователя и пароль в таблице, создайте новый в wp-options. Не забудьте также внести изменения в файл wp-config.
Если не знаете, как добавить нового пользователя, выполните следующие действия:
- Перейдите в cPanel и нажмите «Базы данных MySQL».
- Прокрутите до пользователей MySQL. оттуда добавьте нового пользователя.
- Выберите только что созданное имя пользователя и пароль, и нажмите «Добавить».
- Теперь найдите «Добавить пользователя в базу». Выберите только что созданное имя пользователя и пароль и нажмите «Добавить».
- Также обновите файл wp-config новыми учетными данными.
Проверьте, устранена ли ошибка.
Улучшение взломанной базы данных
Если ошибка не исчезнет, возможно, база данных повреждена. Худшее, что может появиться в базе WordPress, – это отсутствие таблиц, что случается, если новые плагины добавляют или удаляют сотни таблиц.
Это может привести к отображению сообщения «Ошибка при установлении соединения с базой» во внешнем интерфейсе, тогда как «Одна или несколько таблиц базы данных недоступны» в серверной части.
Важно отметить, что WordPress имеет режим восстановления, который можно включить. Просто добавьте в конец файла wp-config.php:
define(‘WP_ALLOW_REPAIR’, true);
Позже перейдите в следующее место на своем сайте WordPress:
https://yourdomain.com/wp-admin/maint/repair.php.
После этого у вас будет возможность восстановить и оптимизировать базу данных. Поскольку вы устраняете неполадки на своем сайте, рекомендуем использовать опцию восстановления базы, так как это быстрее.
Обязательно удалите строку кода, добавленную в файл wp-config.php после выполнения восстановления базы данных.
Вы также можете выполнить восстановление своей базы данных с помощью cPanel.
Восстановить базу с помощью phpMyAdmin
Чтобы запустить восстановление базы данных из phpMyAdmin, выполните следующие действия:
- Просто войдите в phpMyAdmin,
- Щелкните свою базу и выберите все таблицы.
- Затем в раскрывающемся списке нажмите «Восстановить таблицу». По сути, это просто запуск команды REPAIR TABLE.
Исправление поврежденных файлов
Вторая вероятная причина появления этой ошибки – могут быть повреждены файлы. Это может произойти при обмене файлами через FTP, который не так безопасен, и поэтому хакер может легко получить доступ к файлам. Эту проблему необходимо исправить как можно быстрее. Обязательно создайте резервную копию перед очисткой поврежденных файлов.
Для этого выполните следующие действия:
- Сделайте резервную копию базы вручную.
- Теперь загрузите последнюю версию WordPress и замените старую версию последней.
- Разархивируйте созданную резервную копию и удалите поврежденные файлы. Нужно удалить папку wp-content, а также файл wp-config-sample.php.
- Теперь загрузите остальные файлы в обновленную версию WordPress через приложение безопасного обмена, то есть SFTP.
- Очистите кеш браузера. Теперь еще раз проверьте, возникает ли ошибка.
Устранение проблемы с сервером
Мы постарались исправить все возможные причины этой ошибки. Но если ничего не сработало, это означает, что нужно проверить своего хостинг-провайдера, потому что это может происходить из-за проблемы с сервером базы данных.
Как мы обсуждали ранее, если это случай, когда несколько одновременных подключений используют вашу базу данных одновременно, то это может снизить скорость или даже потерять соединение с базой.
Чтобы минимизировать взаимодействие с базой данных WordPress, можете использовать плагины кеширования, такие как W3 Total Cache, WP Super Cache, Quick Cache и другие.
И, если мы говорим об общих хостах, использующих одни и те же ресурсы на серверах, то можете решить эту проблему с помощью высокопроизводительного, лучше всего управляемого хостинга WordPress. Это позволит легко обрабатывать большие объемы трафика на ваши сайты WordPress.
Как предотвратить это в будущем
Чтобы избежать ошибок подключения к базе на веб-сайте WordPress, выполните несколько шагов:
- Качественный и безопасный веб-хостинг WordPress. Работайте только с хостами, которые оптимизировали свои платформы для работы с WordPress.
- Обязательно создавайте регулярные резервные копии каждый раз, когда обновляете свой сайт. Вы также можете установить простой плагин резервного копирования, такой как UpdraftPlus, который работает автоматически.
- Обновляйте плагины и темы.
- Удалите плагины или темы WordPress, которые больше не используются, и периодически проверяйте свои темы и плагины WordPress на наличие вредоносных программ.
- Всегда обновляйте свой WordPress до последних версий.
Алексей Шевченко
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/
Источник: hostenko.com/wpcafe