Mysql query error битрикс

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 протоколу и ввести вот такую команду.

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

db query error please try later-3

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

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

Для того, чтобы его отредактировать я вам советую зайти по 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С битрикс.


Источник: pyatilistnik.org