Представьте, делаете вы сайт, устанавливаете на него разные плагины, производите настройки, наполняете контентом, и в один прекрасный момент перемещаетесь с одной страницы на другую, и видите сообщение “Ошибка соединения с базой данных”. Выглядит устрашающе, особенно, если не понимать, что это, почему произошло, а самое главное – как исправить.
Но, на самом деле, ничего страшного и не обратимого в этом сообщении нет. И в данной статье мы вам подробно расскажем, что вы можете сделать для того, чтобы решить эту проблему в WordPress.
Оглавление
Почему возникла ошибка соединения с базой данных в WordPress
Вы, как администратор сайта, видите его только как проект, работающий на WordPress. И вам кажется, что кроме WordPress в его работе ничего не участвует. Но на самом деле сайт представляет собой сложную структуру, он как организм. Для того чтобы он исправно работал, кроме WordPress используются и другие ресурсы.
В частности, когда речь об ошибке соединения с базой данных в WordPress следует вспомнить о PHP и MySQL. Это программное обеспечение на хостинге. PHP отвечает за функциональность сайта – все плагины, некоторые части темы оформления и самой WordPress написаны на PHP. А MySQL – это программное обеспечение для работы базы данных. В базе данных хранятся все настройки, контент и вся остальная информация сайта.
Так вот, как только кто-то посещает любую страницу сайта – будь то административную часть (бекэнд) или общедоступную страницу (фронтэнд), PHP начинает обращение к MySQL, чтобы отобразить содержимое той или иной страницы. Когда это обращение не возможно, появляется “Ошибка установки соединения с базой данных”. То есть одно из звеньев цепи, обеспечивающих работу сайта, разрушается и сайт не работает. Иногда сообщение может появляться на английском языке – “Error establishing database connection”.
Что делать в первую очередь
В первую очередь нужно прекратить панику, так как любая проблема, в том числе и эта – решаема. Во-вторых, помните, что видя эту ошибку вы не лишаетесь своего сайта и того, что уже успели сделать на нём. То есть, эта ошибка не является катастрофичной и необратимой.
Так что расслабьтесь и постепенно установите точную причину ошибки, чтобы исправить её. И советы ниже вам помогут.
Нерабочий MySQL сервер
MySQL сервер – это сервер хостинга, на котором находится база данных. Ошибка соединения с базой данных может возникать, если этот сервер не работает. Не работать он может по многим причинам – завис (бывает, как и с любым другим компьютером), сломался (на программном или даже физическом уровне).
Распоряжаться MySQL сервером администратор сайта не может. Это доступно только специалистам хостинга. Поэтому при виде этой ошибке сначала напишите в поддержку хостинга: опишите проблему и спросите – это проблема у них или у вас. Если они ответят, что проблема у них, то сидите спокойно, и ждите, пока решат, сами ничего больше не предпринимайте. Если у вас – копайте дальше.
Восстановление сайта из резервной копии – гарантированный способ решения проблемы
На любом хостинге, в том числе и на Timeweb, имеется возможность создавать копии сайта и восстанавливать их, если вдруг случалась авария. В случае возникновения ошибки соединения с базой данных этот метод тоже может помочь. Способ достаточно быстрый, универсальный и надёжный. Он подойдёт тем, кто хочет решить проблему быстро, не вникая в её причины. Просто в разделе с резервными копиями восстановите сайт на ту дату, когда проблемы ещё не было. Восстанавливать нужно и файлы, и базу данных.
При этом вы можете потерять часть данных, которые были внесены на сайте между датой, на которую вы восстанавливаете, и моментом появления ошибки соединения с базой данных.
Неверные данные подключения к базе данных
С точки зрения опыта, практики и интереса – способ ниже очень хорош, что бы своими руками починить сайт на WordPress. А также с его помощью никаких потерь данных не будет, в отличии от предыдущего варианта. Он подойдёт для тех, кто хотел бы вникнуть в суть проблемы и понять некоторые тонкости механизма работы сайта.
В базе данных хранится весь контент и настройки сайта, в том и числе и конфиденциальные, например, почта администратора и пароль от панели управления. Поэтому и PHP подключения к MySQL с помощью логина и пароля. То есть подключение к базе защищенно. Если сайт знает неверные логин и пароль для подключения к MySQL, то получить доступ у него, естественно, не получится. И от этого возникнет данная ошибка.
Копать и исправлять эту причину нужно лишь в том случае, если вы поменяли пароль базы данных или поменяли данные для подключения к базе в файле WordPress wp-config.php. Если вы этого не делали, и никто другой не делал, то проблема не в этом. А если делали, то вот как исправить (показываем на примере хостинга Timeweb. На других хостингах выглядеть будет иначе, но суть та же).
Откройте раздел “Базы данных MySQL” и нажмите на шестерёнку напротив базы данных того сайта, на котором эта проблема (не перепутайте базы, чтобы не сделать хуже!).
Придумайте пароль и впишите его в поле “Новый пароль”. Обязательно запомните этот пароль – скопируйте куда-нибудь на компьютере. Потом нажмите “Сохранить”. Теперь у базы новый пароль, который вы знаете.
Теперь перейдите в “Файловый менеджер” и в корневой папке вашего сайта найдите и откройте файл wp-config.php. Если у вас несколько сайтов, то не перепутайте корневую папку! В файле wp-config.php вам нужно проверить три строки:
- define( ‘DB_NAME’ – здесь должно быть указанно правильное имя базы данных, его вы можете видеть в разделе “Базы данных”.
- define( ‘DB_USER’ – здесь должно быть указанно правильное имя пользователя базы данных, в Timeweb оно равно имени базы.
- define( ‘DB_PASSWORD – здесь вставьте (не пишите вручную!) тот пароль, который чуть выше задали базе данных.
Закройте файл, сохранив изменения. И теперь проверьте доступность сайта. Всё должно заработать.
Очень внятно для меня. Так что постораюсь без паники