Виправляємо помилку установки з’єднання з базою даних

Якщо ви займаєтеся розробкою свого сайту спочатку на локальному комп’ютері, то при перенесенні на хостинг практично завжди зіткнетеся з помилкою установки з’єднання з базою даних, в англійській версії WordPress вона звучить так: Error establishing a database connection.

Але зовсім необов’язково, що це буде через перенесення сайту, можуть бути змінені настройки підключення до бази даних: що знаходиться на відстані користувач, під яким ви підключалися, або ж змінений пароль або MySQL винесено на окремий сервер.

Також поява цієї помилки може означати відсутність сервера бази даних на вашому хостингу. У будь-якому випадку, проблема є і її потрібно вирішувати.

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

Чи виявляється проблема в wp-admin

Насамперед варто переконатися, що дане повідомлення про помилку виводиться і на сайті, і в адміністративній панелі. Для цього спробуйте зайти в адмінку сайту (wp-admin).

Якщо в адміністративній панелі виводиться абсолютно аналогічне повідомлення про помилку установки з’єднання з базою даних – можете сміливо переходити до наступного кроку цієї інструкції.

Якщо ж ви отримали повідомлення «Одна або кілька таблиць бази даних недоступні» , тоді потрібно буде виконати автоматичне виправлення таблиць механізмами WordPress.

Для цього потрібно виконати наступні кроки:

  1. Відкрити файл wp-config.php і додати в нього такий рядок:
    1
    define('WP_ALLOW_REPAIR', true);
  2. Після цього зайти за адресою http: //ваш-сайт.ru/wp-admin/maint/repair.php
  3. Натиснути кнопку «Полагодити базу даних» і дочекатися завершення операції.
    Це може зайняти деякий час, в залежності від розміру даних в таблицях бази вашого сайту.
Запам’ятайте, що доступ до цієї сторінки може отримати будь-який користувач вашого сайту, звернувшись до неї за прямим адресою. Тому після виправлення помилки обов’язково видаліть рядок WP_ALLOW_REPAIR з файлу wp-config.php!

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

В іншому випадку рекомендую продовжити читання замітки.

Перевірка файлу wp-config.php

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

Якщо раптом ви, або хтось інший (наприклад, системний адміністратор), змінили логін або пароль для підключення до бази даних, то внести зміни потрібно саме в файл wp-config.php, пам’ятайте про це.

За настройки підключення до бази даних MySQL відповідають наступні константи:

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

Майте на увазі, що в константі DB_HOST не завжди буде значення localhost, це може бути і IP адреса сервера, або ж якийсь інший адресу, якщо ви використовуєте хостинг від Мастерхоста, наприклад. У будь-якому випадку, цю інформацію вам потрібно уточнити у вашого хостинг-провайдера, або в особистому кабінеті вашого хостингу.

Але для більшості хостингів значення DB_HOST буде все-таки localhost і найчастіше змінювати його не доведеться.

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

1
define('DB_HOST', '127.0.0.1:3351');

, Де 3351 – порт, на якому «прослуховується» MySQL-сервер. Уточніть це значення у вашого системного адміністратора.

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

Перевірка працездатності MySQL сервера

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

Якщо у вас віртуальний сервер (VPS) і ви використовуєте cPanel або ISPManager, то посилання на phpMyAdmin буде на головній сторінці панелі управління сервером.

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

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

  1. Створюєте на комп’ютері файл, назвемо його test.php і додаємо в нього наступний код:
    1
    2
    3
    4
    5
    6
    7
    <?php
    $resource = mysql_connect('localhost', 'пользователь', 'пароль');
    if (!$resource) {
    die('Ошибка при подключении: ' . mysql_error());
    }
    echo 'Подключено успешно!';
    mysql_close($resource);

    Замість «користувач» і «пароль» вкажіть свої дані для підключення до бази даних. Якщо у вас VPS – можете використовувати обліковий запис root.

  2. Завантажуйте цей файл на FTP вашого хостингу
  3. Відкривайте в браузері адресу http: //ваш-сайт.ru/test.php
  4. Якщо на екрані відбилося «Помилка при підключенні», то поруч з нею буде виведено повідомлення (частіше англійською), по якій в Google або Яндекс можна знайти якісь коментарі
  5. Якщо ж відобразилося «Підключено успішно», тоді внесіть використовувані ваші логін і пароль для підключення до бази даних в файл wp-config.php, як в позаминулому кроці

Якщо при відкритті цього скрипта ви отримали повідомлення: # одна тисяча сорок п’ять – Access denied for user ‘foo’ @ ‘%’ (using password: YES) , це означає ви використовуєте неправильний логін або пароль. Перевірте ще раз і спробуйте знову.

У разі, якщо не вдалося підключитися до бази даних ні через phpMyAdmin, ні через файл test.php – рекомендую звернутися в службу підтримки вашого хостинг-провайдера і розібратися в чому справа по телефону. У нормального провайдера цілодобово працює служба підтримки.

Рішення, які допомогли іншим

Використовуйте ці рекомендації на свій страх і ризик!
У будь-якому випадку, перед початком будь-яких правок у вас на руках має бути робоча резервна копія вашого сайту.

Оновлення настройки в wp_options

Деяким користувачам допомагало виконання наступного запиту до бази даних через phpMyAdmin:

1
UPDATE wp_options SET option_value='адрес_вашего_сайта' WHERE option_name='siteurl';

Замість «адрес_вашего_сайта» вкажіть адресу сайту, щоб запит виглядав так:

1
UPDATE wp_options SET option_value='http://ваш-сайт.ru' WHERE option_name='siteurl';

Майте на увазі, що таблиця wp_options може називатися інакше, якщо ви змінювали префікс таблиць WordPress . В цьому випадку, замість wp_ вкажіть свій префікс.

Підключення під root до бази даних

Якщо у вас VPS і вдалося підключитися за допомогою файлу test.php до бази даних під користувачем root – тоді спробуйте використовувати ці дані для підключення до бази даних вашого сайту через wp-config.php.

Якщо все пройде нормально і сайт запрацює, тоді рекомендую зайти в phpMyAdmin, створити нового користувача і вказати логін і пароль нового користувача в wp-config.php.

В жодному разі не під обліковим записом суперкористувача на вашому бойовому сервері.

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(1 голос, в среднем: 5 из 5)

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *