Ошибка db query error please try later на сайте 1С битрикс

db query error please try later

Всех вновь приветствую на страницах своего блога, продолжаем заниматься уроками по 1С битрикс. На днях у меня один физический сервер переезжал в другой цод, товарищи из данного цода начали выполнять работы раньше и не дали возможности правильно потушить виртуальные машины. После переезда на одном из сайтов я увидел вот такую ошибку db query error please try later, давайте рассмотрим как ее решить и на будущее знать, что делать, на это у вас уйдет не более 5 минут.

Решаем ошибку db query error

Ранее у меня была установка bitrix на centos. Причин у данной ошибки может быть несколько и мы их рассмотрим все. Для начала приведу пример скриншота, как выглядит ошибка db query error please later, согласитесь не очень информативно.

db query error please try later-2

Закончилось свободное место

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

df -h

Вы получите сводку по разделам, в моем примере места свободного достаточно.

db query error please try later-3

Повредилась база данных Mysql

Вторая причина, уже посерьезнее и она кроется в том, что у вас поломалась табличка или если угодно база данных Mysql. Чтобы это выяснить вам, потребуется включить дебагер. Нам нужно включить один параметр вот в этом файле.

/bitrix/php_interface/dbconn.php

Для того чтобы его отредактировать я вам советую зайти по sftp-ssh соединению, как это сделать я описывал в заметке Как зайти на ftp сервер хостинга. Единственно, что когда будите создавать подключение выбирайте sftp-ssh. Еще может так же помочь утилита WinSCP 5.7.6, делает она то же самое. И та и другая просто файловые менеджеры.

Открываем этот файл и находим переменную $DBDebug = false; Изменяем ее значение на $DBDebug = true; Обратите внимание, что в этом файле есть такие полезные параметры как:

  • $DBLogin > логин к базе данных
  • $DBPassword > пароль
  • $DBName > имя базы данных

db query error please later

В итоге теперь обновив страницу сайта я получил

MySQL Query Error: SELECT ID, SESSION_DATA FROM b_stat_session_data WHERE GUEST_MD5 = '71dbd5e22cd7ad7065e17a7eb6940a59' and DATE_LAST > DATE_ADD(now(), INTERVAL - 1440 SECOND) LIMIT 1 [Table './edisclosure2009/b_stat_session_data' is marked as crashed and last (automatic?) repair failed]

От сюда видно, что у меня по крошилась база данных edisclosure2009, значит ее нужно восстановить, не забудьте заново поставить $DBDebug = false, так как может дико тормозить сайт. Я для этого использую утилиту EMS SQL Manager for MySQL. Открываете ее и переходите в пункт "Запустить SQL Manager for MySQL".

 

Ошибка db query error please try later на сайте 1С битрикс-1

Имя хоста оставляете localhost, так и должно быть, ваш порт 3306 не должен светиться наружу. Далее указываем логин и пароль от базы данных и ставим галку Использовать туннелирование.

Ошибка db query error please try later на сайте 1С битрикс-2

Задаем ip адрес или dns имя сервера к которому мы будем подключаться по ssh соединению, и указываем логин и пароль для доступа.

Ошибка db query error please try later на сайте 1С битрикс-3

Указываем имя базы данных сайта на битриксе 1С. Я еще обычно ставлю опцию Автоподключение при запуске.

Ошибка db query error please try later на сайте 1С битрикс-4

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

Ошибка db query error please try later на сайте 1С битрикс-5

Все теперь выбираете базу и из меню Службы выбираете Восстановление таблиц. После не долгой процедуры вы исправите ошибку db query error please try later на сайте 1С битрикс.

Ошибка db query error please try later на сайте 1С битрикс-6

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. Андрей

    Благодарю, дружище! Очень помогла твоя статья в трудную минуту!

    С Уважением, Андрей

  2. Дмитрий

    Добрый день.

    Недавно на сервере закончилось свободное место и возникла ошибка «DB query error. Please try later.» Место на сервере освободили, сайт стал доступен, но, когда пользователь заходит в первый раз или спустя какое-то время неактивности обновляет страницу, у него показывает ту же самую ошибку. После перезагрузки страницы, сайт загружается нормально.

    Кэш чистил, не помогло. В чем может быть проблема?

  3. Иван Семин автор

    Вообще странно, похоже на кэш, попробуйте еще раз произвести консолидацию БД.

  4. Анатолий

    Спасибо большое!

    неделю ходил по кругу, а все было просто, параметры подключения к базе
    прописывается не в одном файле /bitrix/.settings.php но и в /bitrix/php_interface/dbconn.php !!!

  5. Иван Семин автор

    Спасибо, за то, что поделились, опытом.

  6. Артем

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

  7. Гость

    Как быть, если таких сайтов 50 на сервере и у всех сайтов такая ошибка?

  8. Гость

    Сейчас все попробовал сделать по инструкции и….
    Нужен дамп БД, чтобы восстановить?
    Т.е. софт не исправляет ошибки в БД, а только импортирует БД с локального ПК?
    Печаль (((

  9. Иван Семин автор

    Не имел дел с таким количеством баз