Читать — значит думать чужой головой вместо своей собственной (А. Шопенгауэр).

Как отлаживать в WordPress ошибку «Ошибка подключения к базе данных»

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 21 апреля 2017

Как отлаживать в Wordpress ошибку «Ошибка подключения к базе данных»

Введение

Wordpress является одной из самых популярных открытых систем управления контентом в мире. Несмотря на то, что сначала она была сосредоточена на ведении блога, на протяжении многих лет она превратилась в более гибкую платформу для веб-сайтов в целом. Спустя почти пятнадцать лет развития она довольно отточенная и надежная, но проблемы все еще возникают.

Если вы недавно пытались загрузить сайт на WordPress и вместо этого увидели сообщение «Ошибка установления соединения с базой данных», причина чаще всего одна из следующих:

  • База данных разрушилась, часто из-за нехватки памяти на сервере.
  • Учетные данные для входа базы данных неверны в конфигурации WordPress
  • Таблицы в базе данных WordPress были повреждены

Давайте пройдемся по этим вопросам по одному за раз, чтобы определить, как они влияют на вас, и как их исправить.

Предпосылки

В этом руководстве предполагается следующее:

  • Вы запускаете Wordpress на машине, у вас есть командная строка и sudo доступ к Linux
  • База данных работает на том же сервере, что и Wordpress (типично для настройки собственного сервера для WordPress, менее типично для общего хостинга WordPress)
  • Вы знаете имя пользователя базы данных, пароль и имя базы данных, созданные для WordPress. Эта информация должна быть создана во время первоначальной настройки установки WordPress.

Шаг 1 – Проверьте ресурсы памяти сервера

Хороший первый шаг для отладки этой проблемы заключается в попытке входа на сервер, чтобы увидеть, что система работоспособна и MySQL работает.

Войдите на сервер через SSH:

 

Если вам нужна помощь при входе в сервер, можно найти в статье как подключиться к Linux с помощью SSH.

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

Теперь, когда мы вошли в систему успешно, давайте проверим, что наш сервер MySQL работает:

 

Команда netstat выводит информацию о сетевой системе нашего сервера. В этом случае, нам нужно названия программ ( -p) прослушивает соединения ( -l) на сокет TCP ( -t). Проверьте вывод на экране mysqld, выделены ниже:

Вывод
 

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

 

Некоторые дистрибутивы Linux (CentOS, в частности) используют mysqld вместо службы mysql. Замените в зависимости от системы.

MySQL должен заработать. Чтобы проверить, повторите команду netstat , которую мы использовали выше, и проверьте вывод для процесса mysqld.

MySQL и WordPress нужен хороший объем памяти для правильной работы. Если MySQL прекращает из-за ситуации с малым количеством памяти, мы должны увидеть доказательство этого, в своих журналах ошибок. Давайте посмотрим:

 

zgrep будет искать через лог – файлы, в том числе и старые файлы, которые были заархивированы в виде файлов с расширением .tar.gz. Мы ищем строку, содержащую allocate memory, в любом файле error.log* в каталоге /var/log/mysql/.

Вывод
 

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

Если вы не видите вывода после выполнения команды zgrep, ваш сервер не работает не из-за памяти. Если ваш сайт по – прежнему выдает ошибки, переходите к следующему шагу, где мы будем смотреть на нашу конфигурацию WordPress и убедимся, что регистрационные данные в MySQL являются правильными.

Шаг 2 – Проверка учетных данных базы данных для входа

Если вы только что переехали ваш WordPress и выбрали между серверами или хостинг – провайдером, возможно, вам потребуется обновить данные подключения к базе данных. Они хранятся на сервере в PHP файле с именем wp-config.php.

Во- первых, давайте найдем наш файл wp-config.php:

 

Этот поиск пройдет все в корневом каталоге ( /), и найдет файл с именем wp-config.php. Если такой файл существует, то на выводе появиться полный путь:

Вывод
 

Теперь используйте ваш любимый текстовый редактор, чтобы открыть файл конфигурации. Мы будем использовать здесь редактор nano:

 

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

wp-config.php
 

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

 

Вам будет предложено ввести пароль. Вставьте его и нажмите ENTER. Если вы получаете ошибку Access Denied, ваше имя пользователя или пароль неверны. В противном случае команда mysqlshow покажет все базы данных, к которым имеет доступ указанный пользователь:

Вывод
 

Убедитесь в том, что одна из баз данных точно соответствует той, что в вашем файле конфигурации WordPress. Если это произойдет, вы убедились, что ваша конфигурация является правильной и что WordPress должен быть в состоянии войти в базу данных успешно. Перейдите на свой сайт, чтобы увидеть, что ошибка исчезла.

Все еще не работает? Следующее, что нужно попробовать, это отремонтировать базу данных.

Шаг 3 – Восстановление базы данных WordPress

Иногда, из-за неудачного обновления, происходит авария базы данных или неисправный плагин, ваша база данных WordPress может повредиться. Эта проблема может представить себя как ошибку соединения с базой данных, поэтому, если ваша проблема не MySQL сервер или не конфигурационный файл, попробуйте восстановить вашу базу данных.

WordPress предоставляет встроенную утилиту для восстановления базы данных. Она по умолчанию отключена, потому что он не имеет контроля доступа и может быть проблемой безопасности. Мы включим эту функцию, выполним ремонт, а затем отключим ее.

Откройте файл wp-config.php еще раз:

 

В любой пустой строке, вставьте следующее:

wp-config.php
 

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

Сохраните и закройте файл. Переключитесь в ваш браузер и загрузите следующий адрес, будучи уверенным, что для замены домена или IP-адреса вашего сайта для выделенного участка:

 

Загрузиться страница восстановления базы данных:

страница ремонта базы данных в WordPress

Нажмите кнопку Database Repair, и вы попадете на страницу с результатами, где вы можете увидеть чеки и ремонт в режиме реального времени:

Страница результатов ремонта базы данных в WordPress

После завершения процесса, убедитесь, открыв файл wp-config.php снова, и удалите строку, которую мы вставили.

Заметили ли вы какие – либо ремонтные работы делаются? Попробуйте ваш сайт снова и проверьте, исчезла ли ошибка. Если была обнаружена нерепарируемых проблема, возможно, потребуется восстановить базу данных из резервной копии, если у вас есть доступная резервная копия БД. Пожалуйста, посмотрите наш учебник, как импортировать и экспортировать базы данных в MySQL для дополнение к нашей статьи, как сделать это.

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

Вывод

Большинство проблем «Ошибка установления соединения с базой данных» должны были быть решены с тремя шагами выше. Тем не менее, не может быть более неуловимых вопросы, которые продолжают представлять себя таким образом. Вот еще несколько статей, которые могут быть полезны в поимке и нейтрализации причины этой ошибки:

  • Частый источник высокого трафика (и, таким образом, снижению производительности и ошибки) является атакой грубой силой, общей установки для WordPress. Вы можете нейтрализовать атаку, следуя гиду, как защитить WordPress от XML-RPC атак.
  • Вы можете сэкономить ресурсы сервера путем реализации кэширования на вашей установке WordPress. Есть много плагинов кэширования в Wordpress. Наш учебник, как настроить Redis кэширования ускорить WordPress покажет вам, как настроить особенно производительный Redis-кэш.

Читайте также

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

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close