Исправляем ошибку «Error Establishing a Database Connection».
Вас когда-нибудь пугало сообщение “Error Establishing a Database Connection”, которое выскакивает, когда вы пытаетесь получить доступ к своему WordPress-сайту? Этот парализующее работу целого сайта событие является ночным кошмаром каждого владельца WordPress сайта.
Не смотря на то, что результаты этой неурядицы крайне плачевны (кажется, что целый сайт испарился!), обычно эту проблему не сложно решить.
Прежде чем мы копнем глубже в эту проблему, скажу, что ничего такого страшного в сообщении Error Establishing a Database Connection нет, так как данные сайта в полной безопасности.
Что означает ошибка Error Establishing a Database Connection?
Прежде чем перейти к путям решения проблемы, я думаю, что важно понять механизмы ее возникновения.
Есть две основные составляющие WordPress:
- Код HTML/PHP – это то, что контролирует внешний вид и функциональность вашего сайта.
Ваша база данных– здесь хранится вся информация о ваших записях, страницах, настройках, пользователях и т. д. - Когда посетитель оказывается на вашем сайте, HTML/PHP составляющая вашего WordPress посылает запрос к вашей базе данных, чтоб получить контент для вклейки в фреймворк, созданный HTML/PHP (плагины кэширования вносят в этот процесс свою лепту, но не суть).
Чтоб WordPress мог успешно послать запрос к БД, ему надо установить связь с этой базой данных.
Без этой связи WordPress не может получить доступ к определенному контенту, который нужно доставить посетителям. Так что если WordPress не может установить эту связь с БД, которая указана в вашем файле wp-config.php, то возникает эта ошибка.
Что вызывает появление сообщения Error Establishing a Database Connection?
Если вы установили свеженькую инсталляцию WordPress и выскочило данное сообщение, вы, вероятно, не правильно вбили параметры базы данных.
Но если вы видите ошибку на уже устоявшемся WordPress-сайте, могут быть другие возможные причины:
- Поврежденная база данных. Иногда WordPress выдает эту ошибку в силу поврежденной базы данных. Я покажу, как это определить позже.
- Ваши параметры доступа не верны. Если вы недавно меняли параметры базы данных, то вы получите такую ошибку, если вы забыли добавить эти новые параметры в файл wp-config.php. Также проблема может возникать, если что-то не так с набором прав, которые касаются имени пользователя в БД.
- У вас появились проблемы с хостингом. Эти проблемы обсудим далее.
Как исправить поврежденную БД в WordPress
Есть очень простой трюк, который позволит определить, стала ли поврежденная БД причиной ваших проблем:
Попытайтесь залогиться в вашей панели wp-admin.
Если сообщение об ошибке изменится на что-то вроде “One or more database tables are unavailable», то возможно БД нуждается в починке.
Это значит, что виновата поврежденная база данных, а не разорванная связь с БД. С другой стороны, если сообщение не изменится, то можете спокойно переходить к следующему шагу.
Чтоб исправить поврежденную базу данных, вам нужно сделать две вещи:
- Добавьте кодовый сниппет в ваш wp-config.php, чтоб включить инструмент восстановления
- Запустите инструмент восстановления
Прежде всего, используйте какую-либо FTP-программу или файловый менеджер cPanel, чтоб отредактировать ваш wp-config.php. Я думаю проще использовать файловый менеджер.
Найдите иконку файлового менеджера в cPanel, а затем выберете сайт, на котором появилась ошибка.
Затем просто кликните на wp-config.php и выберете опцию Edit (редактировать):
Вставьте эту строку кода в самый низ:
define(‘WP_ALLOW_REPAIR’, true);
Затем вбейте в адресную строку это:
Ваш домен.com/wp-admin/maint/repair.php
Кликните на кнопку Repair Database, после чего WordPress вернет ваш сайт к его нормальному состоянию.
После запуска процесса восстановления, вам нужно будет убрать ранее добавленный код из вашего wp-config.php, так как эта функция не должна быть включена все время.
Как исправить неверные параметры доступа
Есть две потенциальные причины того, почему параметры доступа в вашем wp-config.php больше не работают:
- Что-то указано неправильно, то есть неверно введены имя пользователя и /или пароль.
- Пользователь базы данных не имеет доступа к базе данных с определенными привилегиями.
Я думаю, что самый простой решить эту проблему закачается в создании совершенно нового пользователя.
Чтоб сделать это, идем в базы данных MySQL в вашей cPanel:
Прокручиваем вниз и добавляем нового пользователя (Add a New User):
После этого прокрутите дальше и добавьте этого нового пользователя к вашей существующей базе данных WordPress, используя опцию Add a User to a Database:
На следующем экране, убедитесь в том, что все боксы привилегий выбраны (All Privileges):
Затем обновите ваш файл wp-config.php, внеся туда нового пользователя базы данных и его пароль. Вы можете сделать это с помощью все того же файлового менеджера
Сохранив ваш файл wp-config.php, вы можете убедиться в том, что теперь все параметры входа верны.
Сайт все еще не работает? Пообщайтесь с хостинг провайдером
Еще одна потенциальная причина появления проблемы может заключаться в том, что ваш хостинг использует раздельные серверы для хранения баз данных. Если сервер базы данных падает, то ваш сайт все еще будет загружаться даже при отсутствии доступа к базе данных, вызывая появление данной ошибки.
Но более частая причина связана с тем, что у вас кончились ресурсы хостинга. В частности малый объем памяти может приводить к проблемам с базами данных. Особенно этому подвержены бюджетные хостинги.
Чтоб решить эту проблему, вы можете попытаться поговорить с вашим хостером и договориться об увеличении лимита памяти. В большинстве случаев это работает.
Вместо заключения
В большинстве случаев исправление описанных проблем должно снова привести ваш сайт в рабочее состояние, переподключив его к БД. Хотя всегда причинами проблем могут стать другие промахи типа опечаток в базе данных, установки плагина, который приводит к повреждению БД или хостинг-проблем.
Источник
Тоже будет полезно:
Исправляем ошибки и глюки WordPress
Ошибки WordPress — 15 самых распространенных проблем