WordPress та помилка бази даних. Як вирішити ?

wordpress logo

“Error establishing a database connection” в WordPress.

Ваш сайт на WordPress видає “Error establishing a database connection” ? Це одна з найпоширеніших і водночас найбільш критичних помилок, з якими стикаються власники сайтів на WordPress. Вона означає, що сайт не може встановити зв’язок із базою даних, а отже – не здатен відобразити жодного вмісту для користувачів. У результаті відвідувачі бачать лише повідомлення про помилку, а ресурс ризикує втратити трафік, клієнтів і довіру аудиторії.

Незважаючи на серйозність ситуації, у більшості випадків ця проблема має цілком конкретні причини – від неправильних налаштувань підключення до збоїв на сервері або перевантаження сервісу баз даних. У цій статті ми розглянемо основні причини виникнення помилки підключення до бази даних у WordPress, а також розберемо ефективні способи її діагностики та усунення. Це допоможе вам швидко відновити роботу сайту і запобігти подібним проблемам у майбутньому.

Отже, ви відкрили свій сайт і замість очікуваної сторінки бачите повідомлення:

Error establishing a database connection

Що робити ? Насамперед — не панікувати і уважно дочитати цю статтю до кінця. Хоча матеріал орієнтований переважно на користувачів віртуального хостингу з cPanel, описані кроки залишаються актуальними і користувачів в яких використовуєтсья інша панель керування хостингом.

У цій статті ми послідовно розглянемо, як визначити причину виникнення помилки та як найшвидше відновити роботу вашого сайту.

Діагностика помилки “Error establishing a database connection”

1. Перейдіть в домашю папку сайту на WordPress

Відкрийте домашню папку вашого сайту на WordPress використовуючи “Менеджер файлів” або по FTP та знайдіть файл з назвою wp-config.php.

2. Увімкніть режим “діагностики” для сайту на WordPress

Відкрийте файл wp-config.php для редагування.

Примітка: використовуйте “Менеджер файлів” в панелі керування або скачайте файл по FTP на локальний комп’ютер і використовуйте простий текстовий редактор такий як “Notepad” (не MS Word або аналогічний) для редагування файлу.

Знайдіть рядок:

define( 'WP_DEBUG', false );

змініть в ньому “false” на “true”, тобто рядок має набути такого вигляду:

define( 'WP_DEBUG', true );

збережіть ці зміни.

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

3. Відкрийте сайт в браузері повторно

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

Режим “відладки” не виправить проблему з вашим сайтом, а робить ваш сайт більш “говірким”, щоб у вас була можливість діагностувати проблему і зрозуміти що саме необхідно робити щоб ваш відновити роботу вашого WordPress сайту.

4. Уважно вивчіть нове повідомлення з помилкою

Теперь, скоріш за все, ваш сайт видасть інше повідомлення з помилкою. Порівняйте наведені нижче помилки з помилкою яку видає ваш сайт:

Помилка WordPress: Incorrect database name

WordPress видає повідомлення з помилкою:

Incorrect database name ‘назва бази даних
Cannot select database
The database server could be connected to (which means your username and password is okay) but the назва бази даних database could not be selected.

Помилка сповіщує, що сайт може підключитись до SQL сервісу, але не може підключитись до самої бази даних. Переконайтесь, що в файлі wp-config.php вашого сайту, в рядку який має вигляд:

define( 'DB_NAME', 'назва бази даних' );

замість ‘назва бази даних‘ вказана правильна назва бази даних, на початку або в кінці назви відсутні пробіли, а також що така база існує. Наявність бази даних можна перевірити через панель керування cPanel перейшовши в “Керуваннями базами даних”. Якщо бази даних з такою назвою немає, для вирішення проблеми необхідно:

  1. Увійдіть в панель керування cPanel;
  2. В розділі “Бази даних” перейдіть до “Керування базами даних”;
  3. Створіть базу даних в секції “Створити базу даних”;
  4. Підключіть SQL користувача який вказано в параметрі ‘DB_USER’ файлу wp-config.php до бази даних в секції “Додати користувача до бази даних”;
  5. Імпортуйте дані з SQL файлу (дампу) в базу даних використовуючи phpMyAdmin;
  6. Пропишіть правильну назву бази даних в параметрі ‘DB_NAME‘  файлу wp-config.php
  7. Перевірте сайт повторно

Помилка WordPress: Access denied for user

Ваш WordPress сайт показує таку помилку:

Warning: mysqli_real_connect(): (28000/1045): Access denied for user ‘ім’я користувача‘@’localhost’ (using password: YES) in /home/user7/public_html/wp/wp-includes/class-wpdb.php on line 1994
Access denied for user ‘ім’я користувача‘@’localhost’ (using password: YES)
Error establishing a database connection
Така помилка сповіщує про те, що SQL користувач який вказано в параметрі ‘DB_USER‘:

define( 'DB_USER', 'ім'я SQL користувача' );
define( 'DB_PASSWORD', 'пароль SQL користувача' );

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

  1. Увійдіть в панель керування cPanel вашого аккаунта;
  2. Перейти в “Керування базами данних” розділу “Бази даних”;
  3. Проскрольте екран до розділу “Поточні користувачі”;
  4. Переконайтесь, що SQL користувач який вказано в файлі wp-config.php інує. Якщо користувач інсує, встановіть для нього пароль, який вказано в файлі wp-config.php натиснувши на “Змінити пароль” і змініть пароль. Якщо користувач відсутній, створіть SQL користувача з паролем, додайте його до бази даних в секції “Додати користувача до бази даних” і оновіть дані в файлі wp-config.php;
  5. Переконайтесь що в файлі wp-config.php містяться правильне ім’я SQL користувача та пароль;
  6. Перевірте сайт повторно.

Помилка WordPress: Can’t connect to server on …

Помилка на сайті побудованому на WordPress має вигляд:

Warning: mysqli_real_connect(): (HY000/2002): Can’t connect to server on ‘назва SQL серверу‘ (115) in /home/user7/public_html/wp/wp-includes/class-wpdb.php on line 1994
Can’t connect to server on ‘назва SQL серверу‘ (115)
Переконайтесь, що в файлі wp-config.php вашого сайту в рядку:

define( 'DB_HOST', 'назва SQL серверу' );

замість ‘назва SQL серверу’ міститься дійсна назва SQL серверу на якому розміщуєтсья база даних вашого сайту. В більшості випадків тут має бути вказано ‘localhost‘. Якщо вказано ‘localhost‘, а помилка не зникає, зверніться в технічну підтримку вашої хостинг-компанії щоб дізнатись який SQL хост вам необхідно використовувати.

Помилка: Cannot select database

WordPress сайт показує повідомлення з помилкою:

Access denied for user ‘ім’я SQL користувача‘@’localhost’ to database ‘назва бази даних
Cannot select database
Ця помилка вказує на те, що SQL користувач не може підключитись до бази даних. Ця помилка виникає, коли відсутня база даних до якої намагається підключитись SQL користувач і часто виникає одразу після переносу сайту з одного сервера на іншиій під час зміни хостинг провайдера. В такому випадку радимо діяти таким чином:

  1. Увійдіть в панель керування cPanel вашого аккаунта;
  2. Перейдіть в “Керування базами данних” в розділі “Бази даних”;
  3. Проскрольте екран до розділу “Створити базу даних” і створить базу даних;
  4. Проскольте екран до “Додати користувача до бази даних”, оберіть користувача, базу даних і натисніть на “Додати”. Щоб додати SQL користувача до бази даних;
  5. Імпортуйте дані з бекапу (SQL дампу) в створену базу даних за допомогою phpMyAdmin;
  6. Переконайтесь, що в файлі wp-config.php вказано вірна назва бази даних.
  7. Перевірте сайт повторно, щоб виявити чи вирішилась проблема або змінилась помилка.

Якщо з сайтом ніяких робіт не проводилось і раптово виникла ця помилка, кращим варіантом буде звернення в технічну підтримку хостинг-провайдера для вивчення проблеми.

Помилка: Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

Сповіщення з помилка яку показує WordPress сайт має вигляд:

Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
Please check that the mysqli PHP extension is installed and enabled.
Ця помилка вказує, що сайт не може підключитись до бази даних через відсутність PHP бібліотеки ‘mysqli’. Сучасні панелі керування дозволяють керувати налаштуваннями PHP, підключати/відключати PHP розширення. Для активації PHP розширення “mysqli”:

  1. Увійдіть в панель керування cPanel
  2.  Перейдіть в “Select PHP version” в розділі “Програмне забезпечення”
  3. Натисніть на вкладинку “Extension” в верхній частині екрана
  4. Тут ви побачите всі PHP розширення які наявні на сервері. Активуйте PHP розширення встановивши галочку поряд з “mysqli”

Помилка Error establishing a database connection залишилась

Сайт продовжує показувати помилку Error establishing a database connection і нічого більше. Скоріш за все, в базі вашого сайту відсутні таблиці. Це може трапитись якщо ви щойно перенесли сайт і не імпортували дані вашого сайту в базу даних WordPress або нещодавно модифікували дані через phpMyAdmin і видалили деякі таблиці. В разі переносу сайту, вам необхідно створити бекап (SQL дамп) бази даних на сервері де ваш сайт розміщувався раніше, а потім в панелі керування cPanel вашого поточного хостинг провайдера перейти до phpMyAdmin і відновити (імпортувати) дані з SQL файлу в базу даних, або відновити базу даних з бекапу.

5. Проблему вирішено

Коли помилку буде усунено, необхідно вимкнути режим “діагностики”. Відкрийте файл wp-config.php для редагування зручним для вас способом, змініть рядок:

define( 'WP_DEBUG', true );

на

define( 'WP_DEBUG', false );

та збережіть зміни.

Ми розглянули основні проблеми які викликають помилку Error establishing a database connection в WordPress та які кроки необхідно виконати для їхнього усунення. Сподіваємось ця стаття стане вам у нагоді і дозволить швидко відновити роботу сайту, якщо ви зіткнетесь з подібною проблемою.

Прокрутка до верху