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

2017-09-20T11:12:18+00:00Июнь 3rd, 2017|Блог|

Ошибки делают нас мудрее, вернее, их преодоление. Не так давно мы уже разбирали, как быстро и правильно пофиксить распространенные четырехсот- и пятисотые error’ы на сайте. А сегодня детальней рассмотрим ошибку подключения к базе данных, причины ее появления и способы устранения.

 

Первым делом

 

Чаще всего Database Error появляется, когда некорректно указаны параметра доступа к базе данных. Поэтому первым делом откройте конфигурационный файл в корневой папке сайта и проверьте правильность заполнения параметров host, user, password и db (в разных CMS эти названия могут немного отличаться, но суть та же). На всякий случай напоминаем расположение конфигурационных файлов для популярных CMS.

 

WordPress (wp-config.php)

define('DB_NAME', 'имя_базы_данных');
define('DB_USER', 'имя_пользователя');
define('DB_HOST', 'адрес_сервера');
define('DB_PASSWORD', 'пароль');

В WordPress, кстати, эту ошибку (выводится как «Error Establishing a Database Connection») также можно решить восстановлением базы данных. Для этого впишите последней строкой в конфигурационном файле:

 

define('WP_ALLOW_REPAIR', true);

 

Затем перейдите по ссылке: ваш-домен/wp-admin/maint/repair.php. Вы попадете на страницу, где можно будет восстановить (Repair Database) или восстановить с оптимизацией (Repair and Optimize Database) базу данных.

 

Важно!
Как только ошибка пропала, обязательно удалите из конфигурационного файла строку:

 

define('WP_ALLOW_REPAIR', true);

 

Joomla (configuration.php)

 

var $host = 'адрес_сервера';
var $user = 'имя_пользователя';
var $db = 'имя_базы_данных';
var $password = 'пароль';

 

В Joomla ошибка подключения к базе данных выводится как «Database Error: Unable to connect to the database:Could not connect to MySQL». Возможен также вариант «Database Error: Unable to connect to the database:Could not connect to database». Во втором случае, скорее всего, указан неправильный префикс для таблиц, поэтому, кроме четырех вышеуказанных параметров, проверьте также строку:

 

var $dbprefix = 'префикс_таблиц (чаще всего jos_)';

 

Drupal (sites/default/settings.php)

 

$db_url = 'mysql://"имя_пользователя":"пароль"@"адрес_сервера"/"имя_базы_данных";

 

DLE (engine/data/dbconfig.php)

 

define ("DBHOST", "адрес_сервера");
define ("DBNAME", "имя_базы_данных");
define ("DBUSER", "имя_пользователя");
define ("DBPASS", "пароль");

 

ModX (manager/includes/config.inc.php)

 

$database_server = 'адрес_сервера';
$database_user = 'имя_пользователя';
$database_password = 'пароль';
$dbase = 'имя_базы_данных';

 

1C-Битрикс (bitrix/php_interface/dbconn.php)

 

$DBHost = "адрес_сервера";
$DBLogin = "имя_пользователя";
$DBPassword = "пароль";
$DBName = "имя_базы_данных";

 

phpBB (docs/config.php)

 

$dbhost = 'адрес_сервера';
$dbname = 'имя_базы_данных';
$dbuser = 'имя_пользователя';
$dbpasswd = 'пароль';

 

Иногда ошибка подключения к базе данных появляется, когда на вашем диске не хватает свободного места. Удалите кэш и ненужные бекапы. Если ничего «ненужного» вы и так не держите, обратитесь к провайдеру за расширением диска. Еще одна возможная причина – сервер с базой данных не работает. Тут уж все претензии к вашему хостеру, пусть решает. Ну, или переходите на более качественный веб-хостинг, к нам, например. :) За грамотной консультацией по переносу в облако как небольших, так и более масштабных проектов обращайтесь 24/7.

 

Метки: , , , , , , , , , ,