MySQL WordPress Сайт

Как исправить ошибку Error Establishing a Database Connection в WordPress

Как исправить ошибку Error Establishing a Database Connection в WordPress

В этом руководстве мы будет обсуждать различные методы устранения ошибки Error establishing a database connection в WordPress. К его завершению вы будете знать все причины появления этой ошибки в WordPress и пути её устранения.

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

Ошибка Error establishing a database connection (Ошибка установки соединения с базой данных) означает, что по какой-то причине PHP-код не смог получить доступ к базе данных в MySQL для получения необходимых деталей для создания страницы.

директор

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

  1. Ваша база данных повреждена. Что угодно может вызвать повреждение вашей базы данных WordPress, наиболее распространённая причина – это загрузка “плохого” плагина.
  2. Данные для подключения к базе данных неверные. Ваша база данных WordPress использует доступы для входа – имя пользователя (username) и пароль. Эти доступы отличные от тех, что нужны для входа в вашу панель управления на хостинге. Если доступы недавно были изменены или, если ваш сайт на WordPress был перенесен на новый хостинг-аккаунт или в другому хостинг-провайдеру, ваш сайт не сможет получить доступ к базе данных со старыми доступами. По нашему опыту, это наиболее распространённая причина ошибки.
  3. Сервер, на котором размещён ваш сайт недоступен. Сервер вашей базы данных может быть недоступен из-за какой-то проблемы или ошибки на стороне вашей хостинговой компании либо пошёл большой трафик и сервер не смог его обработать.

В этом руководстве, вы узнаете как выяснить причину ошибки Error establishing a database connection в WordPress и как её исправить.

Что понадобится

Прежде чем приступить к руководству, убедитесь в наличии следующего:

  • Доступ к панели управления в вашем хостинг аккаунте, где установлен WordPress
  • Базовое понимание структуры файлов WordPress

Шаг 1 – Определение причины возникновения ошибки Error Establishing a Database Connection

Первое, в чём нужно убедиться, что вы получаете одинаковые ошибки, как на основной части вашего сайта (frontend) yoursite.com, так и на админ части (backend) yoursite.com/wp-admin (замените yoursite.com на URL домашней страницы вашего сайта на WordPress). Если сообщение об ошибке одинаковое на обоих частях сайта: Error establishing a database connection, то переходите к Шагу 2. Но, если ваш сайт недоступен и вы получаете совершенно другое сообщение об ошибке при попытке логина: One or more database tables are unavailable. The database may need to be repaired (Одна или несколько таблиц недоступны. База данных должна быть восстановлена), тогда вам нужно восстанавливать базу данных.

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

Вы можете найти wp-config.php в вашей корневом файловом каталоге WordPress.

Файл wp-config.php находится в корне директории WordPress

Откройте wp-config.php, добавьте следующую строку кода в конце файла и сохраните изменения:

<a href="#Step-2-Checking-database-connection-settings-in-wp-configphp">

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

Первый шаг в устранении ошибки Error establishing a database connection

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

Обратите внимание, что страница восстановления базы данных не защищена логином и кто угодно может зайти по адресу yourwebsite.com/wp-admin/maint/repair.php.

Как только почините базу данных, удалите строку кода define( ‘WP_ALLOW_REPAIR’, true ); из файла wp-config.php. Это закроет доступ к странице восстановления и предотвратит доступ кого-либо постороннего к вашей базе данных.

В поисках лучшего варианта размещения своего сайта?

Переносите свой сайт на самую быструю хостинг платформу с выделенной поддержкой 24/7.

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

Шаг 2 – Проверка настроек подключения к базе данных в wp-config.php

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

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

Если файл wp-config.php был закрыт после предыдущего шага, то откройте его в Файловом Менеджере в панели управления хостингом вашего аккаунта или подключитесь по FTP. Перейдите в каталог, где установлен WordPress и найдите файл wp-config.php. Откройте его для редактирования.
В файле вы увидите учётные данные для входа в вашу базу данных ближе к началу файла. Они будут выглядеть, как показано ниже:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'u694443746_aujev');
/** MySQL database username */
define('DB_USER', 'u694443746_vaven');
/** MySQL database password */
define('DB_PASSWORD', 'zuWupEXEdu');
/** MySQL hostname */
define('DB_HOST', 'mysql');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Если вы прокрутите ниже, то увидите строку, которая определяет префикс вашей базы данных MySQL:

$table_prefix = 'wp_';

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

  1. Имя базы данных (DB_NAME)
  2. Имя пользователя для входа (DB_USER)
  3. Пароль для входа (DB_PASSWORD)
  4. Сервер базы данных (DB_HOST)
  5. Префикс базы данных (table_prefix)

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

Наилучший и прямой путь убедиться, что детали верны, сравнить их с фактическими данными Базы Данных MySQL. Для этого в панели управления своего хостинг-аккаунта перейдите в раздел Базы Данных MySQL. Ниже показаны шаги того, как это сделать в панели управления на Hostinger и в cPanel.

Панель управления Hostinger

База данных панель управления Hostinger

На странице Базы данных MySQL найдите таблицу Список текущих баз данных MySQL и пользователей. В ней собраны все базы данных и пользователи, готовые к использованию вашим сайтом. Информацию, которую мы ищем, находится в колонках Базы Данных MySQL и Пользователь MySQL. Нужно сравнить значения, указанные в этих двух колонках и значения DB_NAME и DB_USER в файле wp-config.php.

Панель управления Hostinger параметры базы данных

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

Просто убедитесь, что значения в wp-config.php совпадают со значениями в разделе Базы данных MySQL. Если не совпадают, обновите свой файл wp-config.php правильными значениями и сохраните изменения.

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

Кнопка Сменить пароль ПУ Hostinger

Теперь обновите значение пароля в wp-config.php и обновите свой сайт на WordPress.

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

Устранение ошибки establishing a database connection префикс таблицы

Если вы всё так же получаете ошибку подключения MySQL, переходите к Шагу 3.

cPanel

mysql в cpanel

Как только вы перешли на страницу MySQL Databases, найдите раздел Current Databases (текущие базы данных). Здесь собраны все базы данных и пользователи, которые используются на вашем сайте. То, что мы ищем находится в колонках Database и Privileged Users. Сравниваем со значениями DB_NAME и DB_USER в файле wp-config.php.

cpanel совпадения с текущей базой данных

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

Проверка значения имени базы данных

cpanel текущая база данных

Мы начнём с имени базы данных. Если раздел Current Databases не содержит баз данных, которые отображены в файле wp-config.php как значение DB_NAME, база данных потеряна. Это обычно случается, когда сайт был перенесён со старого хостинга на новый и база данных не была полностью перенесена. Мы рекомендуем связаться со службой поддержки нового хостинга и попросить полный перенос, восстановление вашей базы данных WordPress. Это должно повлечь за собой создание новой базы данных и заполнение её содержимого резервной копией базы данных WordPress.

Проверка значения имени пользователя базы данных

Во-вторых, мы проверяем колонку Privileged Users. В нашем примере, мы можем быстро отметить, что колонка Privileged Users содержит значения, отличные от файла wp-config.php – последний не имеет завершающего ‘0’. Как только мы обновим значение DB_USER с somuvnet_wp67 на somuvnet_wp670, мы исправим неверное значение имени пользователя. Обязательно обновите свой сайт, чтобы проверить сработали ли наши приёмы и ушла ли ошибка.

Добавление утерянного привилегированного пользователя

Однако, при выполнении переноса сайта на другой хостинг или установки WordPress вручную, можно забыть добавить  пользователя базы данных. Такую ситуацию можно обнаружить в панели управления, поддерживающей привилегированных пользователей. В таком случае, вы увидите пустое поле Privileged Users.

Не задан пользователь с привелегиями
Для исправления мы используем раздел для добавления пользователя в базу данных Add User To Database, который находится внизу страницы:

Управление пользователями

  1. На первом шаге переходим в раздел Current Users и смотрим, есть ли здесь значение DB_USER из файла wp-config.php.
  2. Есть пользователь указан, мы выбираем пользователя в выпадающем поле Add User To Database -> User, выбираем соответствующую базу данных из выпадающего меню Database и нажимаем Add. Вас попросят задать уровень привилегий – выберите All Privileges, нажмите Make Changes и затем вернитесь по нажатию Go Back.
  3. Если пользователь не указан, используем раздел Add New User, в котором создаём пользователя MySQL. Здесь вам нужно ввести имя пользователя или его суффикс в поле Username и мы рекомендуем пользоваться генератором паролей (Password Generator) для поля Pasword.

ВАЖНО: нужно сразу обновить значение DB_PASSWORD в файле wp-config.php на новое сгенерированное значение, тогда ваш пароль не потеряется в процессе.

Как только пользователь добавлен (создан), выполните действия из предыдущего шага (2.), чтобы добавить его в базу данных. После выполнения описанного выше, проверьте наличие/отсутствие ошибки и работу сайта на WordPress, обновив его.

Проверка значения сервера базы данных

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

Проверка значения пароля для входа

Пароль для входа может быть быстро обновлён в разделе MySQL Databases->Current Users в панели управления.

  1. Выберите пользователя, для которого хотите обновить пароль в колонке Users и нажмите Change Password в соответствующем ряду.
  2. Здесь вы также можете использовать значение DB_PASSWORD из файла wp-config.php или генерировать новый пароль, используя Password Generator. Если вы выбрали вариант генерировать новый пароль, убедитесь, что вы изменили значние пароля в параметре DB_PASSWORD в файле wp-config.php на только что созданное.
  3. Нажмите Change Password.

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

Проверка значения префикса таблицы

Последнее, но не менее важное, проверьте правильность префикса таблиц (table prefix). Откройте вашу базу данных WordPress, используя phpMyadmin и посмотрите на префикс заданный в файле wp-config.php.

Устранение ошибки establishing a database connection префикс таблицы

На этом все проверки, связанные с файлом wp-config.php завершаются.

Шаг 3 – Отключение плагинов WordPress

Если предыдущие два шага не устранили проблемы, пришло время проверить ваши плагины WordPress. Лучший способ сделать это – сначала отключить все плагины и проверить, заработал ли сайт после этого. Если да, нерабочий плагин мог быть настоящей причиной ошибки. Как только это будет диагностировано, вы можете приступить к выявлению конкретного плагина, стоящего за ошибкой. Выполните следующие действия, чтобы отключить плагины WordPress:

  1. Войдите в свой аккаунт при помощи FTP клиента.
  2. Найдите основные файлы WordPress и найдите каталог wp-content. Получите доступ к нему. Найдите каталог с плагинами plugins. Зайдите в него.
  3. Переименуйте каталог на что-то вроде plugins-disabled. Это нужно, чтобы WordPress не воспринимал этот каталог, как каталог с плагинами.

    Отключение плагинов для WordPress

  4. Проверьте ваш сайт на наличие ошибки.

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

  1. Переименуйте каталог обратно в plugins и зайдите в него.
  2. Переименовывайте каждый плагин по очереди, чтобы WordPress не мог загрузить конкретный плагин. Вы можете переименовывать их, например так – akismet-disabled, и так далее.
  3. Проверяйте работу сайте каждый раз после переименовывания/отключения каждого плагина, чтобы узнать помогло ли это устранить проблему.

Однако, если это не принесёт необходимого решения и не вернёт ваш сайт в норму, переходите к следующему шагу.

Шаг 4 Замена файлов ядра WordPress

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

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

Для замены ваших файлов ядра WordPress выполните эти шаги:

  1. Для ручной замены файлов ядра WordPress, вначале скачайте последнюю версию WordPress и распакуйте в каталог.
  2. Удалите ваши каталоги wp-includes и wp-admin на сервере.
  3. Загрузите новые версии этих каталогов.

И это все действия для замены файлов ядра WordPress. Для более подробных инструкции по вопросу, как заменить файлы ядра WordPress, ознакомьтесь с этим руководством (англ.). Это должно исправить ошибку ‘Error establishing a database connection’.

Шаг 5  Обращение в хостинг компанию

Если вы прошли все предыдущие шаги для решения проблемы и ваш сайт до сих пор отображает сообщение об ошибке Error establishing a database connection, проблема скорее всего на стороне вашего хостинг провайдера. Обратитесь в службу поддержки вашего хостинга, предоставьте им все детали ошибки и предпринятые вами действия для её решения, и они смогут вам помочь, определив причину ошибки.

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

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

Проверить доступна ли база данных (или находится в офлайне), вы можете запустив простой PHP скрипт. Работа скрипта заключается в проверке, может ли ваш сайт установить соединение с базой данных. Приводим этот скрипт ниже:

<?php
$servername = "mysql.hostinger.com";
$database = "u266072517_name";
$username = "u266072517_user";
$password = "buystuffpwd";
 
// Create connection
 
$conn = mysqli_connect($servername, $username, $password, $database);
 
// Check connection
 
if (!$conn) {
 
    die("Connection failed: " . mysqli_connect_error());
 
}
echo "Connected successfully";
mysqli_close($conn);
?>

Как вы видите, всё, что потребуется – это имя сервера (обычно в формате, указанном выше для хостинг провайдеров), имя конкретной базы данных, с которой вы хотите соединиться, ваши MySQL имя пользователя и пароль. Мы описывали эти параметры в одном из наших руководств, которое тоже имеет смыл почитать, так как в нём рассказано, как подключиться к базе данных MySQL через PHP (англ.).

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

Следующее, мы создаём переменную $conn, которая будет хранить результат выполнения метода mysqli_connect(). Если эта переменная пустая, мы получим сообщение Connection failed: <error_name>. С другой стороны, при успешном подключении, мы получим на экране результат Connected successfully.

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

Заключение

Это руководство призвано помочь вам разобраться с ошибкой соединения сайта на WordPress с базой данных Error establishing a database connection и исправить. Применяя соответствующие шаги мы можем исправить ошибку, если она заключается в повреждённой базе данных или неверно указанных значениях для подключения к базе данных в файле wp-config.php. В конце концов, существует вариант, что проблема на стороне провайдера хостинга, но прежде чем обращаться к нему, проверьте, пожалуйста, все указанные в руководстве шаги.

Добавить комментарий

Нажмите здесь, чтобы оставить комментарий

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Присоединяйтесь к тысячам других подписчиков по всему миру

и получайте самые свежие руководства на вашу электронную почту

Пожалуйста, подождите...

Спасибо за подписку!

Начните экономить сейчас!

Хостинг и доменное имя от

42
00
грн/мес