Руководство для новичков: как исправить ошибку подключения к базе данных

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

Ошибка подключения к базе данных сайта на WordPress — что может быть более неприятным! Наверняка, если вы давно занимаетесь блоггингом, вы встречались с подобным сообщением на странице вашего браузера. И если решили прочитать мои советы, как найти проблему — наверняка хотите знать на будущее, как не допустить подобного или как исправить уже то, что случилось.

Причин появления этой ошибки — много. Впервые, когда я столкнулся с подобной проблемой, у меня ушло примерно 20 минут на поиск и нахождения неисправности. В ходе поиска в Сети возможных решений, я понял, что ничего качественного нигде нет. Поэтому я решил написать эту статью и рассказать всем, как можно решить проблему ошибки подключения к базе данных сайта, работающего на WordPress. Подчеркиваю — сайта на WordPress, потому что у каждой системы управления сайтом (Joomla, Битрикс, Modo и других) есть свои особенности.

Я перечислю все возможные пути решения, а вам остается только внимательно их повторить и найти свой вариант решения.

Почему вы получили это сообщение об ошибке?

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

  • Ваши учетные данные (имя сервера, имя пользователя, логин и пароль пользователя) неправильны или изменены
  • Сервер не отвечает (например, DoS-атака на сервер хостинга)
  • Повреждена база данных
  • Другие факторы

Давайте рассмотрим каждый вариант проблемы.

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

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

Если сообщение со стороны бэк-энд отличается и выглядит примерно так (английский и русский вариант текста):

One or more database tables are unavailable. The database may need to be repaired

Одна или несколько таблиц базы данных недоступны. Базе данных может потребоваться ремонт

Тогда вам нужно восстановить базу данных.

Вы можете сделать это, добавив в файл wp-config.php следующую строку (добавить второй строкой после открывающегося тега PHP!):

define(‘WP_ALLOW_REPAIR’, true);

Как только вы сделали это, вы можете посетить эту страницу:

http://www.yoursite.com/wp-admin/maint/repair.php

dbrepair

Первая кнопка — Repair Database (Восстановить базу данных). Вторая — восстановить и оптимизировать. Возможно, вам придется нажимать их по очереди: сначала первую, через паузу — вторую. Как вариант — лучше сразу нажимать вторую.

Но! Все действия по восстановлению и ремонту базы данных через функционал WordPress довольно часто приводят к непоправимым ошибкам и порче таблиц. Я рекомендую делать все ремонтно-восстановительные работы — через сервер и программу на сервере, которая называется phpMyAdmin.

И еще: после выполнения восстановления не забудьте удалить добавленную строку в файле wp-config.php.

Если этот вариант не принес вам решения и восстановление таблиц не помогло — переходим к следующему варианту.

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

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

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

Все эти данные записываются и хранятся в файле wp-config.php:

wp-config

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

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

Проверить сервер

Здесь есть два варианта.

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

Есть вариант проверить и определить количество сайтов на вашем IP. Если сайтов на IP — более 3000 (особенно если у вас стандартный пакет, провайдер ваш сайт может прицепить к IP, на котором очень много сайтов). В этом случае можно предположить, что сервер просто не справляется с нагрузкой, и база данных — тоже.

Как проверить скорость работы базы данных? Можно с помощью плагина WordPress под названием Benchmark. О нем я писал обзор, почитайте.

Выполнив запрос с помощью плагина Benchmark вы сможете оценить произволительность вашего сервера и базы данных и убедиться, что она — выше или ниже средних значений в Интернет. И сделать правильные выводы.

Вариант как узнать сколько сайтов на вашем IP

Перейдите по ссылке сюда. Напишите полный путь к вашему сайту. Нажмите кнопку. Подождите несколько секунд.

Посчитайте результат. У меня получилось 33 сайта. А у вас? Если очень много, больше тысячи — делайте выводы.

Да, и если написали тикет в саппорт — ждите, что они вам ответят.

Еще.

Если у вас несколько сайтов на одном IP, вы можете проверить, получает ваш второй сайт эту же ошибку или нет.

Еще варианты

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

Создайте файл с именем — testconnection.php. Добавьте в него этот код:

< ?php
$link = mysql_connect('localhost', 'root', 'password');
if (!$link) {
die('Нет соединения: ' . mysql_error());
}
echo 'Соединение с базой данных успешно!';
mysql_close($link);
?>

Не забудьте изменить имя пользователя — root, и пароль — password.

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

Еще вариант

У меня был случай, когда я пытался войти в phpMyAdmin, я получил сообщение:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

По неизвестной причине было сброшено разрешение пользователя на управление таблицами. Я сообщил в техподдержку и они быстро восстановили доступ. Сайт заработал.

И еще варианты

С некоторыми вариантами я сталкивался, но не считаю их частыми. Например:

Вариант 1 — понадобилось обновить URL всего сайта и все заработало. Запроc SQL пишется в программе phpMyAdmin и выглядит так:

UPDATE wp_options SET option_value=’YOUR_SITE_URL’ WHERE option_name=’siteurl’

где YOUR_SITE_URL — полный путь к вашему сайту
И еще — префикс wp_ если у вас другой — исправьте!

Вариант 2 — понадобилось удалить старые таблицы, созданные плагинами, которые уже не использовались

Как видите, причин много, но к основным я отношу только эти:

  • Взлом сайта и замена данных для подключения в файле wp-config.php
  • Ошибка в данных для подключения в файле wp-config.php
  • Нестабильная работа сервера и высокая нагрузка на сервер и базу данных

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

Важно! Эта запись может содержать ссылки на плагины, которые к моменту вашего чтения и скачивания могут работать не корректно. Будьте внимательны.

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

Ваш email нигде не будет показан. Обязательные поля помечены *