-->

Подключение к серверу mysql ошибка битрикс

Просмотров: 15606
Дата последнего изменения: 01.06.2021

Сложность урока:

3 уровень — средняя сложность. Необходимо внимание и немного подумать.

4

5

При возникновении ошибки подключения к базе данных на экран выдается сообщение вида:

Для решения проблемы следует:

  • проверить параметры подключения к базе данных (файл /bitrix/php_interface/dbconn.php до версии 20.900.0 и файл /bitrix/.settings.php с версии 20.900.0);
  • проверить доступность базы данных.

Внешний вид сообщения об ошибке определяется в файле /bitrix/modules/main/include/dbconn_error.php:

<br>
<table cellpadding="1" cellspacing="0" width="35%" bgcolor="#9C9A9C">
	<tr>
		<td><table cellpadding="5" cellspacing="0" width="100%">
			<tr>
				<td bgcolor="#FFFFFF" align="center"><FONT face="Verdana, Arial, Helvetica, sans-serif" size="-1">
				<font color="#FF0000"><b><?echo "Error connecting to database."?></b></font><br>Please try again.</font></td>
			</tr>
		</table></td>
	</tr>
</table>	
<br><br><br>

Для проверки доступности базы данных можно использовать, в частности, MySQLGUI — интерфейс управления для Windows, доступный для скачивания на странице http://www.mysql.ru/download/.

 

Есть проблемы не работает 1 шаг по установке
Шаг 1 (установка базы данных):  
Ошибка соединения с MySql сервером. Проверьте правильность введенных параметров. Проверьте, запущен ли MySql сервер.

Проверяли 100 раз, что делать ???

 

Алексей Кирсанов

Администратор

Сообщений: 437
Баллов: 545
Авторитет:

1

Рейтинг пользователя:

3

Регистрация: 13.01.2003

Ведущий разработчик

#2

0

28.01.2004 13:31:14

Скрипт установки продует установить соединение с базой стандартным образом. Попробуйте создать и запустить на вашем хостинге .php файл с содержанием типа:

Код
<?
// заменить на реальные
$host = "localhost";
$user = "admin";
$password = "admin_password";

$db_Conn = @mysql_pconnect($host, $user, $password);
if (!$db_Conn)
{
   echo "Не соединяется...<br>";
}
else
{
   echo "Соединилось!<br>";
}
?>

Если соединения нет, то выясните у вашего хостинг-провайдера, почему именно его нет. Как доказательство отсутствия соединения приведите этот скрипт.

 

Администратор

Сообщений: 437
Баллов: 545
Авторитет:

1

Рейтинг пользователя:

3

Регистрация: 13.01.2003

Ведущий разработчик

Если Вы в скрипте уберете подавление ошибок (удалите символ @ перед mysql_pconnect), то возможно Вы сможете увидеть более подробное описание произошедшей ошибки.

 

MySql PHP Apache установлены на локальной машине. Сообщение

Warning: mysql_pconnect(): Can’t connect to MySQL server on ‘localhost’ (10061) in c:program filesapache groupapachehtdocsconnect.php on line 7
Не соединяется…

 

Укажите вместо localhost 127.0.0.1,
или какой-нибудь другой адрес этого компьютера.

Попробуйте соединиться с MySQL из командной строки
mysql —host=»localhost» —password=… —port=… —user=…

 

Пишет
C:mysqlbin>mysql —host=»127.0.0.1″ —password=1 —port=3306 —user=admin
ERROR 1045: Access denied for user: ‘admin@localhost’ (Using password: YES)

 

Проверьте, может ли пользователь admin соединяться с MySQL с localhost (есть ли соответствующая запись в таблице user BD mysql)

 

Соединился с пустым паролем
Теперь завис на шаге №3
При клике на ссылку

— Перейти в административную часть

Выдает

DB query error.
Please try later.

Да и по остальным тоже самое  :~(

 

Проверьте правильность определения переменных в файле
/bitrix/php_interface/dbconn.php

Если с переменными все правильно и у вас php работает как модуль Apache, попробуйте установить в файле
/bitrix/php_interface/dbconn.php
константу DBPersistent в false —
define(«DBPersistent»,false);

 

#10

0

28.01.2004 17:30:48

/bitrix/php_interface/dbconn.php Такого файла нету…. Есть dbconn_error.php

 

#11

0

28.01.2004 17:36:04

Так все восстановал опять дошел до Шага 3
И вновь получил при клике по ссылке

— Перейти в административную часть

DB query error.
Please try later.

 

#12

0

28.01.2004 17:38:14

О есть
dbconn.php Меняю … :D

 

#13

0

28.01.2004 17:40:24

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

http://www.bitrixsoft.ru/support/ticket_list.php?lang=ru

 

#14

0

28.01.2004 17:40:50

Установка константы DBPersistent в false —
define(«DBPersistent»,false);
Не привела к желаемому
:~(
Опять получил
DB query error.
Please try later.

 

#15

0

28.01.2004 17:55:39

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

http://www.bitrixsoft.ru/support/ticket_list.php?lang=ru

 

Пользователь 293

Заглянувший

Сообщений: 1
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 29.01.2004

#16

0

29.01.2004 10:07:28

ß зарегистрировался  :D

 

Администратор

Сообщений: 437
Баллов: 545
Авторитет:

1

Рейтинг пользователя:

3

Регистрация: 13.01.2003

Ведущий разработчик

#17

0

29.01.2004 10:16:08

Если Вы по-прежнему получаете ошибку «DB query error» на третьем шаге инсталляции, установите в файле /bitrix/php_interface/dbconn.php переменную $DBDebug в значение true (у Вас должна получится строчка «$DBDebug=true;» вместо «$DBDebug=false;»). После этого обновив страницу вы сможете увидеть более подробное описание ошибки. Если Вы не сможете решить проблему самостоятельно — сообщите полное описание ошибки нам и мы постараемся Вам помочь.

 

Пользователь 789

Заглянувший

Сообщений: 1
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 23.09.2004

#18

0

28.09.2004 21:14:10

Александр Городенцев! скажите пожалуста, решилась ли тогда ваша проблема с DB query error.
Please try later на третьем шаге?..

у меня такая же проблема.. :(

 

#19

0

08.11.2005 12:03:14

На счёт dbconn.php . Сделала. Теперь выдаёт такую ошибку:

Module: statistic (4.0.4)
Class: CAllStatistic
File: z:homenon-existent-hostbitrixmodulesstatisticclassesgeneralstatistic.php
Function: Stoplist
Line: 670
MySQL Query Error: SELECT ID, MESSAGE, MESSAGE_LID, SAVE_STATISTIC, URL_REDIRECT, TEST FROM b_stop_list WHERE ACTIVE=’Y’ and TEST=’N’ and (SITE_ID = ‘ru’ or SITE_ID is null or length(SITE_ID)<=0) and (DATE_START<=now() or DATE_START is null) and (DATE_END>=now() or DATE_END is null) and ((((MASK_1 & 192)=IP_1 and (MASK_2 & 168)=IP_2 and (MASK_3 & 10)=IP_3 and (MASK_4 & 32)=IP_4) or (IP_1 is null and IP_2 is null and IP_3 is null and IP_4 is null)) and (upper(‘Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.7) Gecko/20050414’) like concat(‘%’,upper(USER_AGENT),’%’) or length(USER_AGENT)<=0 or USER_AGENT is null) and (72=0 or USER_AGENT_IS_NULL<>’Y’) and (upper(‘http://192.168.10.32/’) like concat(‘%’,upper(URL_FROM),’%’) or length(URL_FROM)<=0 or URL_FROM is null) and (upper(‘/bitrix/admin/site_checker.php’) like concat(‘%’,upper(URL_TO),’%’) or length(URL_TO)<=0 or URL_TO is null) ) [Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation ‘like’]

Что делать помогите! Мужа уже прошу  :cry:

 

Гость

#20

0

08.11.2005 12:39:07

Цитата
[Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation ‘like’]
Что делать помогите! Мужа уже прошу

в файл
bitrixphp_interfaceafter_connect.php
попробуем добавить код:

Код
<?
@mysql_query("SET names 'cp1251'", $DB->db_Conn);
@mysql_query("SET character set cp1251", $DB->db_Conn);
?>

если файла нет — создаем…
если не помогло — пишем тикет…

http://www.google.ru/search?hl=ru&c2coff=1&rls=GGLD%2CGGLD%3A2005-15%2CGGLD%3Aen&q=Illegal+mix+of+collations&btnG=%D0%9F%D0%BE­%D0%B8%D1%81%D0%BA&lr=lang_ru

 

Гость

#21

0

08.11.2005 14:01:36

Щяс помогло, теперь вместо

Код
[Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (cp1251_general_ci,IMPLICIT) for operation 'like'] 

пишет

Код
[Out of memory; restart server and try again (needed 65528 bytes)]

А где её можно увеличить?

 

Гость

#22

0

08.11.2005 14:58:16

Цитата
Любовь пишет:
  [Out of memory; restart server and try again (needed 65528 bytes)]
А где её можно увеличить?

в настройках MySQL… файл my.ini (my.cfg) в системном каталоге…

 

#23

0

08.11.2005 15:02:16

а всё. Справилась! Огромное Спасибо!

 

#24

0

08.11.2005 20:35:17

После установки системы (даже на локалхосте) всё стало очень тормозить и страницы открываются по немкольку секунд.
Можно ли это как-то исправить? Илиже некоторые модули греют душу и грузят систему?

и ещё. Возможно ли удалить или переименовать папку bitrix, а то зная по своему прошлому опыту на Сайтистике у меня чуть не отобрали администраторские прова, т.к. знали куда лезть.

 

Гость

#25

0

09.11.2005 12:07:13

судя по всему дело в почте которая пытается отправится… под Win32 это очень тормозная операция… сейчас дезактивируйте все почтовые шаблоны…

в новом дистрибутиве все почтовые шаблоны будут дезактивированы по умолчанию…

Просмотров: 14438
Дата последнего изменения: 01.06.2021

Сложность урока:

3 уровень — средняя сложность. Необходимо внимание и немного подумать.

4

5

При возникновении ошибки подключения к базе данных на экран выдается сообщение вида:

Для решения проблемы следует:

  • проверить параметры подключения к базе данных (файл /bitrix/php_interface/dbconn.php до версии 20.900.0 и файл /bitrix/.settings.php с версии 20.900.0);
  • проверить доступность базы данных.

Внешний вид сообщения об ошибке определяется в файле /bitrix/modules/main/include/dbconn_error.php:

<br>
<table cellpadding="1" cellspacing="0" width="35%" bgcolor="#9C9A9C">
	<tr>
		<td><table cellpadding="5" cellspacing="0" width="100%">
			<tr>
				<td bgcolor="#FFFFFF" align="center"><FONT face="Verdana, Arial, Helvetica, sans-serif" size="-1">
				<font color="#FF0000"><b><?echo "Error connecting to database."?></b></font><br>Please try again.</font></td>
			</tr>
		</table></td>
	</tr>
</table>	
<br><br><br>

Для проверки доступности базы данных можно использовать, в частности, MySQLGUI — интерфейс управления для Windows, доступный для скачивания на странице http://www.mysql.ru/download/.

Разворачиваю бекап сайта на локалке (опен сервер), в фале settings.php и dbconn.php, прописал верные данные подключения к базе данных,
кусок с файла dbconn :

define("DBPersistent", false);
$DBType = "mysql";

$DBHost = "localhost";
$DBLogin = "root";
$DBPassword = "";
$DBName = "zoo*****";
$DBDebug = false;
$DBDebugToFile = false;
define("MYSQL_TABLE_TYPE", "INNODB");
define("BX_USE_MYSQLI", true);

Кусок с файла settings:

  'connections' => 
  array (
    'value' => 
    array (
      'default' => 
      array (
        'className' => 'BitrixMainDBMysqliConnection',
        'host' => 'localhost',
        'database' => 'zoo****',
        'login' => 'root',
        'password' => '',
        'options' => 2,
      ),
    ),
    'readonly' => true,
  ),
);

Для отслеживания ошибки значение false в ‘debug’ => false, поставил на true ‘debug’ => true.
И получил на сайте следующее

[BitrixMainDBConnectionException] 
Mysql connect error [localhost]: (1049) Unknown database 'zoomagazine1' (400)
W:domainsZooMagazinebitrixmodulesmainlibdbmysqliconnection.php:65
#0: BitrixMainDBMysqliConnection->connectInternal()
    W:domainsZooMagazinebitrixmodulesmainlibdbmysqliconnection.php:122
#1: BitrixMainDBMysqliConnection->queryInternal(string, array, NULL)
    W:domainsZooMagazinebitrixmodulesmainlibdbconnection.php:330
#2: BitrixMainDBConnection->query(string)
    W:domainsZooMagazinebitrixmodulesmainlibconfigoption.php:226
#3: BitrixMainConfigOption::load(string, NULL)
    W:domainsZooMagazinebitrixmodulesmainlibconfigoption.php:53
#4: BitrixMainConfigOption::get(string, string, string)
    W:domainsZooMagazinebitrixmodulesmainlibhttprequest.php:392
#5: BitrixMainHttpRequest->prepareCookie(array)
    W:domainsZooMagazinebitrixmodulesmainlibhttprequest.php:69
#6: BitrixMainHttpRequest->__construct(object, array, array, array, array)
    W:domainsZooMagazinebitrixmodulesmainlibhttpapplication.php:46
#7: BitrixMainHttpApplication->initializeContext(array)
    W:domainsZooMagazinebitrixmodulesmainlibapplication.php:122
#8: BitrixMainApplication->initializeExtendedKernel(array)
    W:domainsZooMagazinebitrixmodulesmaininclude.php:23
#9: require_once(string)
    W:domainsZooMagazinebitrixmodulesmainincludeprolog_before.php:14
#10: require_once(string)
    W:domainsZooMagazinebitrixmodulesmainincludeprolog.php:10
#11: require_once(string)
    W:domainsZooMagazinebitrixheader.php:1
#12: require(string)
    W:domainsZooMagazineindex.php:3 

Догадываюсь что это связано с mysql — mysqli
Прошу помощи разобраться. Спасибо!

В этой статье мы расскажем, из-за чего возникает ошибка «DB query error, please try later» в Bitrix и как её исправить на виртуальном хостинге.

Почему возникает ошибка

Ошибка DB query error, please try later возникает на CMS Битрикс.

Также встречаются варианты:

  • Mysql connect error [localhost]: (2002) No such file or directory (400),
  • DB query error,
  • Got error 28 from storage engine.

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

Вот несколько распространённых причин этой ошибки:

  • не хватает дискового пространства на хостинге. В Битрикс встроено автоматическое резервное копирование. Эта опция создаёт резервные копии в папке /bitrix/backup/ и постепенно занимает место на диске. Чтобы решить проблему, необходимо удалить старые резервные копии;
  • повреждена база данных MySQL. В этом случае нужна резервная копия БД: восстановите копию с датой, когда сайт работал корректно;
  • неверные данные для подключения к БД. Настройки подключения к базе данных хранятся в файле /bitrix/php_interface/dbconn.php. Если указаны неверные логин, пароль или название базы данных, сайт не может к ней подключиться. Из-за этого возникает ошибка.

Как включить отображение ошибок через панель управления

Чтобы понять, чем именно вызвана ошибка, нужно посмотреть её полное описание на сайте. Для этого включите debug-режим.

Debug-режим (режим отладки) — режим, который используют разработчики для проверки кода. Он позволяет увидеть полный текст ошибки и исправить её.

Для этого:

  1. 1.
  2. 2.

    Перейдите в раздел Менеджер файлов:

  3. 3.

    Перейдите в папку php_interface и дважды кликните по файлу dbconn.php:

  4. 4.

    В блоках $DBDebug и $DBDebugToFile замените параметр «false» на «true» и нажмите Ok:

  5. 5.

    При переходе на сайт вы увидите текст ошибки. Он выделен красным цветом:

Как включить отображение ошибок через SSH-подключение

  1. 1.

    Подключитесь к серверу по SSH.

  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая папка сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования, затем в полях $DBDebug и $DBDebugToFile замените параметр «false» на «true»:

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter:

Как освободить место для работы БД через панель управления

Для того чтобы освободить место на хостинге, нужно очистить папку /bitrix/backup/. Для этого:

  1. 1.

    Войдите в панель управления ISPmanager. Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».

  2. 2.

    Перейдите в папку /bitrix/backup/. Выделите файлы, которые вам не нужны, и нажмите Удалить.

  3. 3.

    Чтобы подтвердить удаление, нажмите Ok.

Как освободить место для работы БД через SSH-подключение

  1. 1.
  2. 2.

    Выполните команду:

    cd ~/www/domain.ru/bitrix/backup/

    Где domain.ru — корневая папка вашего сайта.

  3. 3.

    Чтобы удалить ненужные файлы, выполните команду:

    rm domain.ru_20210512_104800_full_da85bdfa.tar domain.ru_20210512_104813_full_1463208a.tar domain.ru_20210512_104925_full_cdf5d6e0.tar

Как изменить данные для подключения к БД через панель управления

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

  1. 1.
  2. 2.

    Перейдите в раздел Базы данных:

  3. 3.

    Кликните по базе данных и выберите Пользователи:

  4. 4.

    Кликните по пользователю базы данных и выберите Изменить:

  5. 5.

    Кликните на значок «глаз», чтобы увидеть пароль. Проверьте имя пользователя и пароль, затем нажмите Отмена:

    DB Query Error что это значит

  6. 6.

    Перейдите в раздел Главное — Менеджер файлов:

  7. 7.

    Откройте папку php_interface и дважды Кликните по файлу dbconn.php:

  8. 8.

    Заполните поля:

    • $DBLogin — укажите имя пользователя базы данных,
    • $DBPassword — введите пароль пользователя БД,
    • $DBName — укажите имя базы данных.

    Затем нажмите Ok.

  9. 9.

    Битрикс хранит настройки подключения не только в файле dbconn.php, но и в файле .settings.php. Перейдите в папку /bitrix/ и дважды кликните по файлу .settings.php:

  10. 10.

    Заполните поля:

    • database — укажите имя базы данных,
    • login — введите логин пользователя БД,
    • password — укажите пароль пользователя БД.
      Затем нажмите Ok:

Как изменить данные для подключения к БД через SSH-соединение

Перед изменением данных проверьте имя БД, логин и пароль. Чтобы изменить данные для подключения:

  1. 1.
  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая директория сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования. Заполните поля:

    • $DBLogin — укажите имя пользователя БД,
    • $DBPassword — введите пароль пользователя базы,
    • $DBName — укажите название базы данных.

    Затем нажмите Esc, чтобы выйти из режима редактирования, введите команду :qw и нажмите Enter.

  4. 4.

    Настройки подключения к базе данных хранятся ещё в одном файле — .settings.php. Чтобы открыть его, выполните команду:

    vim ~/www/domain.ru/bitrix/.settings.php

    Где domain.ru — корневая папка сайта.

  5. 5.

    Нажмите на клавишу i, чтобы включить режим редактирования. Заполните поля:

    • database — введите имя базы данных,
    • login — укажите имя пользователя БД,
    • password — введите пароль пользователя БД.

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter.

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

Ошибки подключения к базе в Битриксе. Свой текст ошибки

Если в настройках установлен вывод ошибок, то при возникновении ошибок базы данных Битрикс выводит на страницу сайта SQL запрос, который закончился ошибкой. . Это небезопасно, потому что в таком случае посетители сайта могут понять, как устроена база данных и выяснить слабые места сайта. Поэтому рекомендуем сделать страницу-заглушка, которая будет показываться вместо ошибки.

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

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
global $DB;
$sql = 'SELECT * FROM';
$DB->Query($sql);
?>

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

Можно такой вывод ошибки на собственную страницу, на которой можно написать, к примеру, обращение к пользователям сайта. Для создания такой страницы необходимо в папке сайта /bitrix/php_interface/ создать файл PHP файл с названием dbquery_error.php.

Рекомендуем ознакомиться со статьёй «Загрузка файлов на сайт с помощью FileZilla», в которой описан процесс работы с программой, которая может загрузить файл с вашего компьютера на сервер с сайтом. А так же с одной из статей. описывающих редактор файлов на сервере: «Средство разработки: Notepad++» или «Средство разработки: Atom»

После создания dbquery_error.php, вставьте в этот файл следующий код для обработки ошибки. В начале кода должны содержаться функции, которые очистят буфер вывода, иначе сообщение об ошибке все равно будет выведено:

<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$str = ob_get_contents(); // здесь находится сообщение об ошибке
ob_clean(); // очищаем буфер вывода
?>
Ой! В нашей базе данных случилась ошибка. Пожалуйста, напишите нам на "мэйл@адрес.ru", если видите это сообщение. Спасибо!

Первая строчка в примере if(!defined(«B_PROLOG_INCLUDED») … die(); не позволит скрипту выполниться, если пользователь перейдёт по адресу ваш_сайт.ru/bitrix/php_interface/dbquery_error.php. Код будет выполняться, только если он вызван из другого скрипта.

Чтобы иметь оперативную связь можно запрограммировать автоматическую отсылку мэйла на адрес техподдержки сайта внутри файла dbquery_error.php. Потому что если этот файл будет исполнен, то это значит, что ошибка уже есть на сайте. Поэтому предлагаем дописать предыдущий пример, добавив код отправки мэйла:

<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$str = ob_get_contents(); // здесь находится сообщение об ошибке
ob_clean(); // очищаем буфер вывода

// посылаем отчет об ошибке нам
   global $APPLICATION;
   $curPage = $APPLICATION->GetCurPage(); // адрес страницы сайта, на которой возникла ошибка

   $eol = "n";
   $to = 'мэйла@адрес_техподдержки.ru'; // кому отправлять мэйл

   $subject = 'Ошибка MySql ' . date("Y-m-d H:i:s"); // дата возникновения ошибки
   $message = 'Ошибка MySql:' . $str . $eol;
   $message = 'Возникла на странице: ' . $curPage . $eol;
   $message = wordwrap($message, 900, $eol); // ограничение ширины строки в письме

   $head   = array();
   $head[] = "MIME-Version: 1.0";
   $head[] = "Content-type: text/plain; charset=UTF-8";
   $head[] = "From: мэйл@адрес_сайта.ru <мэйл@адрес_сайта.ru>"; // от кого отправлять мэйл
   $head[] = "Subject: " . $subject;

   $a = mail($to, $subject, $message, implode("rn", $head));
?>
Ой! В нашей базе данных случилась ошибка. Пожалуйста, напишите нам на "мэйл@адрес.ru", если видите это сообщение. Спасибо!

В этом примере замените адрес «Кому» и «От кого» для правильной отправки мэйла.

Была ли статья полезной?

Была ли эта статья полезна?

Есть вопрос?

хостинг для сайтов

Закажите недорогой хостинг

Заказать

всего от 290 руб

— На основе оценок
3

человек

Ошибка Mysql connect error [localhost]: (1040) Too many connections (400) возникает в случае превышения лимита одновременных соединений с базой данных MySQL.

Причины ошибки

Как сказано выше, причина проста — «Много одновременных соединений с БД». Стоит понимать, что имеется ввиду БД с которой работает Битрикс, но с этой БД может и работать другой сайт по удаленному подключению. Причины:

  • Много пользователей на сайте;
  • DDos атака на сайт;
  • DDos атака на сайт, который использует данную БД через удаленное подключение;
  • Ошибка в скрипте сайта (в следствии чего, сайт не может закрывать запросы, при этом образовывается много SLEEP запросов);
  • Ошибка в скрипте сайта, который использует удаленное подключение (в следствии чего, сайт не может закрывать запросы, при этом образовывается много SLEEP запросов);

Методы обнаружения проблемы

Чтобы обнаружить, в чем именно проблема, нужноузнать количество соединений к MySql и проанализировать их (время, какой пользователь делает, с какого IP).
Пример анализа запросов к БД

Как исправить

Есть всего 3 варианта исправления: увеличить количество одновременных соединений (если проблема связанна с большим посещением сайта реальных пользователей ), отражение DDOS атаки, или оптимизацией кода сайта. Как вы понимаете, универсального рецепта нет и быть не может. Если вам не помогло увеличения лимита, и вы не знаете что делать в случае DDOS или как оптимизировать код сайта — обращайтесь к профессионалам.


Вас могут заинтересовать следующие услуги

Сайт на движке Bitrix может работать исправно и вдруг в самый неподходящий момент при заходе на сайт может возникнуть ошибка «Mysql connect error localhost 2002 No such file or directory 400».

Возможные причины:

  1. Закончилось свободное место на диске.
  2. Некорректные данные для подключения к базе данных.
  3. Проблема с базой данных.

Первым делом нужно зайти в панель управления хостингом и проверить, не закончилось ли место на диске (в разных системах может быть по-разному, к примеру — Инструменты — Свободное место). Если гипотеза подтвердилась, идем в менеджер файлов — www/названиеСайта/bitrix/backup — удаляем лишние бэкапы, либо пишем запрос в техподдержку хостинга, чтобы почистили место на диске, заодно можно будет в дальнейшем сделать так, чтобы на диске оставлять резерв, чтобы место внезапно не кончалось в будущем.

Возможно, на сайте не включен дебаг-режим и ошибки вы не увидите, чтобы включить дебаг-режим: менеджер файлов — www/названиеСайта/bitrix/php_interface — в файле dbconn.php в $DBDebug и $DBDebugToFile заменить с false на true.

Чтобы изменить настройки подключения к базе данных, в том же файле dbconn.php можно изменить значения в $DBLogin, $DBPassword, $DBName на нужные. Также настройки подключения к БД хранятся в файле www/названиеСайта/bitrix.settings.php (поля database, login, password соответственно).

Если повреждена база данных, зайти в резервные копии в панели управления хостингом и восстановить базу данных из резервной копии (на момент, когда база работала нормально).

Рассказываем, почему появляется ошибка «DB query error» и как ее исправить на панели управления хостингом.

Ошибка «DB query error» связана с базой данных и обычно возникает после переноса проекта на другой хостинг, когда неверно указывают путь или ссылаются не на ту базу данных. Так выглядит ошибка в браузере при открытии сайта:

Другими вариантами возникновения «DB query error» могут быть:

  • Недостаточно свободного места на тарифе.

  • Ошибки в базе данных.

В статье расскажем, как исправить ошибку «DB query error» для сайтов на 1С-Битрикс из панели хостинга Reddock.

Недостаточно свободного места на тарифе

Для исправления ошибки на виртуальном хостинге перейдите в панель управления услугой.

На главной странице в блоке «Ограничения» в строке «Диск» проверьте, сколько осталось доступного места. Если доступного места достаточно, цвет текста будет зеленым. Если недостаточным — красным.

Для исправления ошибки на виртуальном или выделенном сервере перейдите в панель управления услугой под srv-admin. На главной странице в области «RED.Monitoring» отображены ресурсы сервера.

Проверка показала, что на тарифе закончилось дисковое пространство? Вы можете удалить лишние файлы или увеличить место на диске.

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

  • Для увеличения дискового пространства перейдите в личный кабинет и закажите дополнительные ресурсы для вашего тарифа.

Превышение максимально разрешенного количества подключений

Если на тарифе хостинга достаточно свободного пространства, возможно превышено максимально разрешенное количество подключений.

Это исправляется в панели управления перейдите в Главное (1) → Менеджер файлов (2). Выберите файл «dbconn.php» и нажмите «Изменить».

В строке «$DBDebug» замените «false» на «true», а после откройте ваш сайт. Если ошибки есть, то в браузере будет отображено сообщение ошибки mysql с кодом 1040.

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

По всем вопросам будем рады помочь. Напишите нам — с радостью ответим. Способы связи:

  • через личный кабинет,

  • по почте support@reddock.ru,

  • по телефону +7 (495) 008-31-24 или +7 (351) 225-64-56.

Не пропустите новые материалы и обновления — подпишитесь на нас в любимой соцсети: Instagram, ВКонтакте или Facebook.

Просмотров: 22228
Дата последнего изменения: 28.05.2022

Сложность урока:

4 уровень — сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.

5

Иногда возникает ситуация, когда сайт перестает отвечать, и посетителям отображается пустая страница. В этом случае рекомендуется открыть файл bitrix/php_interface/dbconn.php и установить значение параметра $DBDebug = true;

<?
define("DBPersistent", true);
$DBType = "mysql";
$DBHost = "localhost:31006";
$DBLogin = "root";
$DBPassword = "";
$DBName = "bsm_demo";
$DBDebug = true;
$DBDebugToFile = false;

set_time_limit(60);

define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
@ini_set("memory_limit", "64M");
?>

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

Запуск утилиты perror.exe с кодом ошибки (файл perror.exe хранится в каталоге mysql/bin) позволяет получить описание ошибки по ее коду:

Примечание: Для ошибки с кодом 28 выводится следующее описание:

Данное сообщение означает, что на диске, где установлена база данных, недостаточно места для ее работы.

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

Обратите внимание на следующее:

  • Скрипт проверки и восстановления базы данных может быть использован только для MySQL с типом таблиц

    MyISAM

    Для таблиц типа InnoDB неактуальна сама проблема поломки таблиц, поэтому для них нет инструмента.

    .

  • Скрипт проверки запускается из административного раздела сайта Настройки -> Инструменты -> Проверка БД:

    В случае, если повреждены таблицы статистики и нет возможности перейти в административный раздел, сбор статистики может быть временно отключен с помощью параметра ?no_keep_statistic_LICENSE-KEY=Y. В параметре указывается лицензионный ключ сайта.

  • Существует возможность использования скрипта проверки и восстановления базы данных без перехода в административный раздел.

    Для этого при обращении к странице восстановления необходимо указать два параметра: имя (login) и пароль (password) на доступ к базе данных. Например: http://www.mysite.ru/bitrix/admin/repair_db.php?login=DB_Login&password=DB_Password. По умолчанию значения данных параметров хранятся в файле /bitrix/php_interface/dbconn.php.

Проблема:

На экран выводится ошибка:

MySQL Query Error: ….. [Out of memory restart server and try again (needed 65528 bytes)]

Решение:

Необходимо увеличить объем памяти в настройках MySQL.

Рекомендуется использовать следующие параметры MySQL, задавая их в конфигурационном файле MySQL my.cnf:

key_buffer = 128K
max_allowed_packet = 16M
table_cache = 4
sort_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 128K
thread_stack = 128K

После изменения параметров необходимо будет перезагрузить MySQL.

В этой статье мы расскажем, из-за чего возникает ошибка «DB query error, please try later» в Bitrix и как её исправить на виртуальном хостинге.

Почему возникает ошибка

Ошибка DB query error, please try later возникает на CMS Битрикс.

Также встречаются варианты:

  • Mysql connect error [localhost]: (2002) No such file or directory (400),
  • DB query error,
  • Got error 28 from storage engine.

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

Вот несколько распространённых причин этой ошибки:

  • не хватает дискового пространства на хостинге. В Битрикс встроено автоматическое резервное копирование. Эта опция создаёт резервные копии в папке /bitrix/backup/ и постепенно занимает место на диске. Чтобы решить проблему, необходимо удалить старые резервные копии;
  • повреждена база данных MySQL. В этом случае нужна резервная копия БД: восстановите копию с датой, когда сайт работал корректно;
  • неверные данные для подключения к БД. Настройки подключения к базе данных хранятся в файле /bitrix/php_interface/dbconn.php. Если указаны неверные логин, пароль или название базы данных, сайт не может к ней подключиться. Из-за этого возникает ошибка.

Как включить отображение ошибок через панель управления

Чтобы понять, чем именно вызвана ошибка, нужно посмотреть её полное описание на сайте. Для этого включите debug-режим.

Debug-режим (режим отладки) — режим, который используют разработчики для проверки кода. Он позволяет увидеть полный текст ошибки и исправить её.

Для этого:

  1. 1.
  2. 2.

    Перейдите в раздел Менеджер файлов:

  3. 3.

    Перейдите в папку php_interface и дважды кликните по файлу dbconn.php:

  4. 4.

    В блоках $DBDebug и $DBDebugToFile замените параметр «false» на «true» и нажмите Ok:

  5. 5.

    При переходе на сайт вы увидите текст ошибки. Он выделен красным цветом:

Как включить отображение ошибок через SSH-подключение

  1. 1.

    Подключитесь к серверу по SSH.

  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая папка сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования, затем в полях $DBDebug и $DBDebugToFile замените параметр «false» на «true»:

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter:

Как освободить место для работы БД через панель управления

Для того чтобы освободить место на хостинге, нужно очистить папку /bitrix/backup/. Для этого:

  1. 1.

    Войдите в панель управления ISPmanager. Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».

  2. 2.

    Перейдите в папку /bitrix/backup/. Выделите файлы, которые вам не нужны, и нажмите Удалить.

  3. 3.

    Чтобы подтвердить удаление, нажмите Ok.

Как освободить место для работы БД через SSH-подключение

  1. 1.
  2. 2.

    Выполните команду:

    cd ~/www/domain.ru/bitrix/backup/

    Где domain.ru — корневая папка вашего сайта.

  3. 3.

    Чтобы удалить ненужные файлы, выполните команду:

    rm domain.ru_20210512_104800_full_da85bdfa.tar domain.ru_20210512_104813_full_1463208a.tar domain.ru_20210512_104925_full_cdf5d6e0.tar

Как изменить данные для подключения к БД через панель управления

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

  1. 1.
  2. 2.

    Перейдите в раздел Базы данных:

  3. 3.

    Кликните по базе данных и выберите Пользователи:

  4. 4.

    Кликните по пользователю базы данных и выберите Изменить:

  5. 5.

    Кликните на значок «глаз», чтобы увидеть пароль. Проверьте имя пользователя и пароль, затем нажмите Отмена:

    DB Query Error что это значит

  6. 6.

    Перейдите в раздел Главное — Менеджер файлов:

  7. 7.

    Откройте папку php_interface и дважды Кликните по файлу dbconn.php:

  8. 8.

    Заполните поля:

    • $DBLogin — укажите имя пользователя базы данных,
    • $DBPassword — введите пароль пользователя БД,
    • $DBName — укажите имя базы данных.

    Затем нажмите Ok.

  9. 9.

    Битрикс хранит настройки подключения не только в файле dbconn.php, но и в файле .settings.php. Перейдите в папку /bitrix/ и дважды кликните по файлу .settings.php:

  10. 10.

    Заполните поля:

    • database — укажите имя базы данных,
    • login — введите логин пользователя БД,
    • password — укажите пароль пользователя БД.
      Затем нажмите Ok:

Как изменить данные для подключения к БД через SSH-соединение

Перед изменением данных проверьте имя БД, логин и пароль. Чтобы изменить данные для подключения:

  1. 1.
  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая директория сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования. Заполните поля:

    • $DBLogin — укажите имя пользователя БД,
    • $DBPassword — введите пароль пользователя базы,
    • $DBName — укажите название базы данных.

    Затем нажмите Esc, чтобы выйти из режима редактирования, введите команду :qw и нажмите Enter.

  4. 4.

    Настройки подключения к базе данных хранятся ещё в одном файле — .settings.php. Чтобы открыть его, выполните команду:

    vim ~/www/domain.ru/bitrix/.settings.php

    Где domain.ru — корневая папка сайта.

  5. 5.

    Нажмите на клавишу i, чтобы включить режим редактирования. Заполните поля:

    • database — введите имя базы данных,
    • login — укажите имя пользователя БД,
    • password — введите пароль пользователя БД.

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter.

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

Views: 24316
Last Modified: 09.07.2021

When a database query error occurs, the following error message is displayed:

The visual aspect of the message is defined by the contents of the file /bitrix/php_interface/dbquery_error.php.

Situations may happen when a site denies to reply and returns an empty page to visitors. In this case, open the file bitrix/php_interface/dbconn.php containing the database connection parameters, and set the parameter: $DBDebug = true;

<?
define("DBPersistent", true);
$DBType = "mysql";
$DBHost = "localhost:31006";
$DBLogin = "root";
$DBPassword = "";
$DBName = "bsm_demo";
$DBDebug = true;
$DBDebugToFile = false;

set_time_limit(60);

define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
@ini_set("memory_limit", "64M");
?>

This will cause the error message to be printed. The message usually contains names of damaged tables.

Run perror.exe (can be found in mysql/bin) with the error code to get the error description:

Note:
The error 28 displays the following description:

This means that the disk on which the database is installed is out of free space.

If the database damage is the case, you are recommended to use the built-in database check and repair tool. This will allow you to restore the site functionality in the shortest possible time.

Note!

  • The standard database check and repair tool only works with the MyISAM tables of MySQL.
  • The check script starts from the administrative section of the site Settings > Tools > System Administration > Database Check:

    If the statistics tables are damaged and you cannot open the Control Panel, you can disable gathering statistics by supplying the parameter ?no_keep_statistic_LICENSE-KEY=Y on the URL (substitute LICENSE-KEY with your license key).

  • There is a possibility to use the check script and recover the database without the need to go to the administrative section.

    To do so, supply the database access login and password on the URL. For example: http://www.mysite.com/bitrix/admin/repair_db.php?login=DB_Login&password=DB_Password. By default, the database access parameters are stored in /bitrix/php_interface/dbconn.php.

Problem:

The following error appears on the screen:

MySQL Query Error: ….. [Out of memory restart server and try again (needed 65528 bytes)]

Solution:

Memory size must be increased in MySQL settings.

The following MySQL parameters should be used and entered in the MySQL configuration file my.cnf:

key_buffer = 128K
max_allowed_packet = 16M
table_cache = 4
sort_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 128K
thread_stack = 128K

MySQL will have to be reloaded after you change the parameters.

Рассказываем, почему появляется ошибка «DB query error» и как ее исправить на панели управления хостингом.

Ошибка «DB query error» связана с базой данных и обычно возникает после переноса проекта на другой хостинг, когда неверно указывают путь или ссылаются не на ту базу данных. Так выглядит ошибка в браузере при открытии сайта:

Другими вариантами возникновения «DB query error» могут быть:

  • Недостаточно свободного места на тарифе.

  • Ошибки в базе данных.

В статье расскажем, как исправить ошибку «DB query error» для сайтов на 1С-Битрикс из панели хостинга Reddock.

Недостаточно свободного места на тарифе

Для исправления ошибки на виртуальном хостинге перейдите в панель управления услугой.

На главной странице в блоке «Ограничения» в строке «Диск» проверьте, сколько осталось доступного места. Если доступного места достаточно, цвет текста будет зеленым. Если недостаточным — красным.

Для исправления ошибки на виртуальном или выделенном сервере перейдите в панель управления услугой под srv-admin. На главной странице в области «RED.Monitoring» отображены ресурсы сервера.

Проверка показала, что на тарифе закончилось дисковое пространство? Вы можете удалить лишние файлы или увеличить место на диске.

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

  • Для увеличения дискового пространства перейдите в личный кабинет и закажите дополнительные ресурсы для вашего тарифа.

Превышение максимально разрешенного количества подключений

Если на тарифе хостинга достаточно свободного пространства, возможно превышено максимально разрешенное количество подключений.

Это исправляется в панели управления перейдите в Главное (1) → Менеджер файлов (2). Выберите файл «dbconn.php» и нажмите «Изменить».

В строке «$DBDebug» замените «false» на «true», а после откройте ваш сайт. Если ошибки есть, то в браузере будет отображено сообщение ошибки mysql с кодом 1040.

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

По всем вопросам будем рады помочь. Напишите нам — с радостью ответим. Способы связи:

  • через личный кабинет,

  • по почте support@reddock.ru,

  • по телефону +7 (495) 008-31-24 или +7 (351) 225-64-56.

Не пропустите новые материалы и обновления — подпишитесь на нас в любимой соцсети: Instagram, ВКонтакте или Facebook.

Просмотров: 19714
Дата последнего изменения: 28.05.2022

Сложность урока:

4 уровень — сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.

5

Иногда возникает ситуация, когда сайт перестает отвечать, и посетителям отображается пустая страница. В этом случае рекомендуется открыть файл bitrix/php_interface/dbconn.php и установить значение параметра $DBDebug = true;

<?
define("DBPersistent", true);
$DBType = "mysql";
$DBHost = "localhost:31006";
$DBLogin = "root";
$DBPassword = "";
$DBName = "bsm_demo";
$DBDebug = true;
$DBDebugToFile = false;

set_time_limit(60);

define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
@ini_set("memory_limit", "64M");
?>

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

Запуск утилиты perror.exe с кодом ошибки (файл perror.exe хранится в каталоге mysql/bin) позволяет получить описание ошибки по ее коду:

Примечание: Для ошибки с кодом 28 выводится следующее описание:

Данное сообщение означает, что на диске, где установлена база данных, недостаточно места для ее работы.

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

Обратите внимание на следующее:

  • Скрипт проверки и восстановления базы данных может быть использован только для MySQL с типом таблиц

    MyISAM

    Для таблиц типа InnoDB неактуальна сама проблема поломки таблиц, поэтому для них нет инструмента.


    .
  • Скрипт проверки запускается из административного раздела сайта Настройки -> Инструменты -> Проверка БД:

    В случае, если повреждены таблицы статистики и нет возможности перейти в административный раздел, сбор статистики может быть временно отключен с помощью параметра ?no_keep_statistic_LICENSE-KEY=Y. В параметре указывается лицензионный ключ сайта.

  • Существует возможность использования скрипта проверки и восстановления базы данных без перехода в административный раздел.

    Для этого при обращении к странице восстановления необходимо указать два параметра: имя (login) и пароль (password) на доступ к базе данных. Например: http://www.mysite.ru/bitrix/admin/repair_db.php?login=DB_Login&password=DB_Password. По умолчанию значения данных параметров хранятся в файле /bitrix/php_interface/dbconn.php.

Проблема:

На экран выводится ошибка:

MySQL Query Error: ….. [Out of memory restart server and try again (needed 65528 bytes)]

Решение:

Необходимо увеличить объем памяти в настройках MySQL.

Рекомендуется использовать следующие параметры MySQL, задавая их в конфигурационном файле MySQL my.cnf:

key_buffer = 128K
max_allowed_packet = 16M
table_cache = 4
sort_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 128K
thread_stack = 128K

После изменения параметров необходимо будет перезагрузить MySQL.

В этой статье мы расскажем, из-за чего возникает ошибка «DB query error, please try later» в Bitrix и как её исправить на виртуальном хостинге.

Почему возникает ошибка

Ошибка DB query error, please try later возникает на CMS Битрикс.

Также встречаются варианты:

  • Mysql connect error [localhost]: (2002) No such file or directory (400),
  • DB query error,
  • Got error 28 from storage engine.

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

Вот несколько распространённых причин этой ошибки:

  • не хватает дискового пространства на хостинге. В Битрикс встроено автоматическое резервное копирование. Эта опция создаёт резервные копии в папке /bitrix/backup/ и постепенно занимает место на диске. Чтобы решить проблему, необходимо удалить старые резервные копии;
  • повреждена база данных MySQL. В этом случае нужна резервная копия БД: восстановите копию с датой, когда сайт работал корректно;
  • неверные данные для подключения к БД. Настройки подключения к базе данных хранятся в файле /bitrix/php_interface/dbconn.php. Если указаны неверные логин, пароль или название базы данных, сайт не может к ней подключиться. Из-за этого возникает ошибка.

Как включить отображение ошибок через панель управления

Чтобы понять, чем именно вызвана ошибка, нужно посмотреть её полное описание на сайте. Для этого включите debug-режим.

Debug-режим (режим отладки) — режим, который используют разработчики для проверки кода. Он позволяет увидеть полный текст ошибки и исправить её.

Для этого:

  1. 1.
  2. 2.

    Перейдите в раздел Менеджер файлов:

  3. 3.

    Перейдите в папку php_interface и дважды кликните по файлу dbconn.php:

  4. 4.

    В блоках $DBDebug и $DBDebugToFile замените параметр «false» на «true» и нажмите Ok:

  5. 5.

    При переходе на сайт вы увидите текст ошибки. Он выделен красным цветом:

Как включить отображение ошибок через SSH-подключение

  1. 1.

    Подключитесь к серверу по SSH.

  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая папка сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования, затем в полях $DBDebug и $DBDebugToFile замените параметр «false» на «true»:

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter:

Как освободить место для работы БД через панель управления

Для того чтобы освободить место на хостинге, нужно очистить папку /bitrix/backup/. Для этого:

  1. 1.

    Войдите в панель управления ISPmanager. Если внешний вид вашей панели управления отличается от представленного в инструкции, кликните в левом нижнем углу «Старый интерфейс».

  2. 2.

    Перейдите в папку /bitrix/backup/. Выделите файлы, которые вам не нужны, и нажмите Удалить.

  3. 3.

    Чтобы подтвердить удаление, нажмите Ok.

Как освободить место для работы БД через SSH-подключение

  1. 1.
  2. 2.

    Выполните команду:

    cd ~/www/domain.ru/bitrix/backup/

    Где domain.ru — корневая папка вашего сайта.

  3. 3.

    Чтобы удалить ненужные файлы, выполните команду:

    rm domain.ru_20210512_104800_full_da85bdfa.tar domain.ru_20210512_104813_full_1463208a.tar domain.ru_20210512_104925_full_cdf5d6e0.tar

Как изменить данные для подключения к БД через панель управления

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

  1. 1.
  2. 2.

    Перейдите в раздел Базы данных:

  3. 3.

    Кликните по базе данных и выберите Пользователи:

  4. 4.

    Кликните по пользователю базы данных и выберите Изменить:

  5. 5.

    Кликните на значок «глаз», чтобы увидеть пароль. Проверьте имя пользователя и пароль, затем нажмите Отмена:

    DB Query Error что это значит

  6. 6.

    Перейдите в раздел Главное — Менеджер файлов:

  7. 7.

    Откройте папку php_interface и дважды Кликните по файлу dbconn.php:

  8. 8.

    Заполните поля:

    • $DBLogin — укажите имя пользователя базы данных,
    • $DBPassword — введите пароль пользователя БД,
    • $DBName — укажите имя базы данных.

    Затем нажмите Ok.

  9. 9.

    Битрикс хранит настройки подключения не только в файле dbconn.php, но и в файле .settings.php. Перейдите в папку /bitrix/ и дважды кликните по файлу .settings.php:

  10. 10.

    Заполните поля:

    • database — укажите имя базы данных,
    • login — введите логин пользователя БД,
    • password — укажите пароль пользователя БД.
      Затем нажмите Ok:

Как изменить данные для подключения к БД через SSH-соединение

Перед изменением данных проверьте имя БД, логин и пароль. Чтобы изменить данные для подключения:

  1. 1.
  2. 2.

    Выполните команду:

    vim ~/www/domain.ru/bitrix/php_interface/dbconn.php

    Где domain.ru — корневая директория сайта.

  3. 3.

    Кликните клавишу i, чтобы включить режим редактирования. Заполните поля:

    • $DBLogin — укажите имя пользователя БД,
    • $DBPassword — введите пароль пользователя базы,
    • $DBName — укажите название базы данных.

    Затем нажмите Esc, чтобы выйти из режима редактирования, введите команду :qw и нажмите Enter.

  4. 4.

    Настройки подключения к базе данных хранятся ещё в одном файле — .settings.php. Чтобы открыть его, выполните команду:

    vim ~/www/domain.ru/bitrix/.settings.php

    Где domain.ru — корневая папка сайта.

  5. 5.

    Нажмите на клавишу i, чтобы включить режим редактирования. Заполните поля:

    • database — введите имя базы данных,
    • login — укажите имя пользователя БД,
    • password — введите пароль пользователя БД.

    Чтобы выйти из режима редактирования, нажмите Esc. Затем введите команду :qw и нажмите Enter.

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

Views: 23061
Last Modified: 09.07.2021

When a database query error occurs, the following error message is displayed:

The visual aspect of the message is defined by the contents of the file /bitrix/php_interface/dbquery_error.php.

Situations may happen when a site denies to reply and returns an empty page to visitors. In this case, open the file bitrix/php_interface/dbconn.php containing the database connection parameters, and set the parameter: $DBDebug = true;

<?
define("DBPersistent", true);
$DBType = "mysql";
$DBHost = "localhost:31006";
$DBLogin = "root";
$DBPassword = "";
$DBName = "bsm_demo";
$DBDebug = true;
$DBDebugToFile = false;

set_time_limit(60);

define("BX_FILE_PERMISSIONS", 0644);
define("BX_DIR_PERMISSIONS", 0755);
@ini_set("memory_limit", "64M");
?>

This will cause the error message to be printed. The message usually contains names of damaged tables.

Run perror.exe (can be found in mysql/bin) with the error code to get the error description:

Note:
The error 28 displays the following description:

This means that the disk on which the database is installed is out of free space.

If the database damage is the case, you are recommended to use the built-in database check and repair tool. This will allow you to restore the site functionality in the shortest possible time.

Note!

  • The standard database check and repair tool only works with the MyISAM tables of MySQL.
  • The check script starts from the administrative section of the site Settings > Tools > System Administration > Database Check:

    If the statistics tables are damaged and you cannot open the Control Panel, you can disable gathering statistics by supplying the parameter ?no_keep_statistic_LICENSE-KEY=Y on the URL (substitute LICENSE-KEY with your license key).

  • There is a possibility to use the check script and recover the database without the need to go to the administrative section.

    To do so, supply the database access login and password on the URL. For example: http://www.mysite.com/bitrix/admin/repair_db.php?login=DB_Login&password=DB_Password. By default, the database access parameters are stored in /bitrix/php_interface/dbconn.php.

Problem:

The following error appears on the screen:

MySQL Query Error: ….. [Out of memory restart server and try again (needed 65528 bytes)]

Solution:

Memory size must be increased in MySQL settings.

The following MySQL parameters should be used and entered in the MySQL configuration file my.cnf:

key_buffer = 128K
max_allowed_packet = 16M
table_cache = 4
sort_buffer_size = 128K
read_buffer_size = 128K
read_rnd_buffer_size = 128K
net_buffer_length = 128K
thread_stack = 128K

MySQL will have to be reloaded after you change the parameters.

Рассказываем, почему появляется ошибка «DB query error» и как ее исправить на панели управления хостингом.

Ошибка «DB query error» связана с базой данных и обычно возникает после переноса проекта на другой хостинг, когда неверно указывают путь или ссылаются не на ту базу данных. Так выглядит ошибка в браузере при открытии сайта:

Другими вариантами возникновения «DB query error» могут быть:

  • Недостаточно свободного места на тарифе.

  • Ошибки в базе данных.

В статье расскажем, как исправить ошибку «DB query error» для сайтов на 1С-Битрикс из панели хостинга Reddock.

Недостаточно свободного места на тарифе

Для исправления ошибки на виртуальном хостинге перейдите в панель управления услугой.

На главной странице в блоке «Ограничения» в строке «Диск» проверьте, сколько осталось доступного места. Если доступного места достаточно, цвет текста будет зеленым. Если недостаточным — красным.

Для исправления ошибки на виртуальном или выделенном сервере перейдите в панель управления услугой под srv-admin. На главной странице в области «RED.Monitoring» отображены ресурсы сервера.

Проверка показала, что на тарифе закончилось дисковое пространство? Вы можете удалить лишние файлы или увеличить место на диске.

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

  • Для увеличения дискового пространства перейдите в личный кабинет и закажите дополнительные ресурсы для вашего тарифа.

Превышение максимально разрешенного количества подключений

Если на тарифе хостинга достаточно свободного пространства, возможно превышено максимально разрешенное количество подключений.

Это исправляется в панели управления перейдите в Главное (1) → Менеджер файлов (2). Выберите файл «dbconn.php» и нажмите «Изменить».

В строке «$DBDebug» замените «false» на «true», а после откройте ваш сайт. Если ошибки есть, то в браузере будет отображено сообщение ошибки mysql с кодом 1040.

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

По всем вопросам будем рады помочь. Напишите нам — с радостью ответим. Способы связи:

  • через личный кабинет,

  • по почте support@reddock.ru,

  • по телефону +7 (495) 008-31-24 или +7 (351) 225-64-56.

Не пропустите новые материалы и обновления — подпишитесь на нас в любимой соцсети: Instagram, ВКонтакте или Facebook.

  • После переноса вся публичная часть не видна без авторизации по логину и паролю
  • При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»
  • Зависает переиндексация статических файлов сайта
  • На любой странице сайта возникает ошибка:
    The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.
  • На любой странице сайта возникает ошибка: DB query error. Please try later.
  • На сайте возникает ошибка: Mysql connect error [localhost, 127.0.0.1]: Can’t connect to local MySQL server through socket ‘/var/lib/mysqld/mysqld.sock’ (2) (400)
  • Возникает ошибка любого MySQL запроса вида: MySQL Query Error: SELECT … FROM … [Got error 28 from storage engine]

После переноса вся публичная часть не видна без авторизации по логину и паролю

Если после переноса вы видите на главной странице вместо новостей форму для авторизации и все пункты меню отмечены значком замка:

… и после авторизации все отображается правильно — перейдите в административную панель Битрикс и пройдите по пути: Настройки (Settings) → Настройки продукта (System settings) → Сайты (Sites) → Список сайтов (List of sites), выберите ваш сайт и проверьте значение поля «Путь к корневой папке веб-сервера для этого сайта (Path to the web server root folder of this site)», скорее всего там указан неправильный путь.

Рекомендуется оставить это поле пустым если вы не используете многосайтовость на разных доменах.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»

По умолчанию все сервисы виртуальной машины VMBitrix работают в кодировке UTF-8. По сравнению с кодировкой CP1251 (Windows-1251) UTF-8 предоставляет большие возможности по хранению информации на различных языках, подробнее можно узнать в Wikipedia.

Если по каким-либо причинам вы не можете перейти на использование UTF-8 — выполните указанный запрос самостоятельно.

Для этого перейдите в административный раздел Битрикс и пройдите по пути Настройки (Settings) → Инструменты (Tools) → SQL запрос (SQL query), скопируйте и вставьте запрос из сообщения об ошибке и выполните его.

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

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

Зависает переиндексация статических файлов сайта

При попытке обновить поисковый индекс вашего сайта процесс зависает (длится очень долго и статус уже переиндексированных документов не обновляется). Если производить переиндексацию по отдельным модулям — зависание происходит только при выборе модуля «Статические файлы».

Для решения проблемы необходимо изменить параметры mbstring в файле /etc/php.ini:

mbstring.func_overload = 0
mbstring.internal_encoding = CP1251

и перезапустить web-сервер Apache чтобы новые параметры вступили в силу:

/etc/init.d/apache2 restart

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

На любой странице сайта возникает ошибка:

The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.

В новом ядре Битрикс, настройка параметров производится в файле bitrix/.settings.php (обратите внимание, что имя файла начинается с точки). Ранее, для этих задач использовался файл bitrix/php_interface/dbconn.php.

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

Поэтому первым делом, необходимо войти на сервер (по SSH или sFTP) и отредактировать файл bitrix/.settings.php. В нем следует найти строчку:

'debug' => false,

и изменить значение параметра debug на true, то есть строка должна принять вид:

'debug' => true,

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

Болле подробное описание всех параметров файла .settings.php есть на сайте разработчика.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

На любой странице возникает ошибка:

DB query error.
Please try later.

Эта ошибка абсолютно аналогична описанной выше, но возникает только в старом ядре Битрикс. Для включения вывода полного сообшения об ошибке войдите на сервер (по SSH или sFTP) и отредактируйте файл bitrix/php_interface/dbconn.php. В нем найдите строчку:

$DBDebug = false;

и измените значение переменной $DBDebug на true, то есть строка должна принять вид:

$DBDebug = true;

После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр $DBDebug в изначальное значение.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

На сайте возникает ошибка:

Mysql connect error [localhost, 127.0.0.1]: Can’t connect to local MySQL server through socket ‘/var/lib/mysqld/mysqld.sock’ (2) (400)

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

  1. Нехватка оперативной памяти.

    Если при разработке проекта не рассчитывалась большая нагрузка (со стороны пользователей или объема обрабатываемых данных), или при разработке была допущена ошибка, или параметры MySQL и Apache не оптимальны для проекта, то при всплеске активности может возникнуть переполнение оперативной памяти (RAM). В этом случае, операционная система, для поддержания собственной безопасности, принудительно завершает работу самого объемного процесса (для web-серверов это как правило именно MySQL).

    В этом случае, в системном журнале /var/log/syslog и на консоли сервера (доступ к которой можно получить в панели управления vCenter) будет содержаться сообщение вида:

    kernel: Out of memory: Kill process 1543 (mysqld) score 146 or sacrifice child
    

    В этом случае, перезагрузите сервер, для освобождения памяти и восстановления работы всех сервисов. Затем привлеките разработчиков для оптимизации скриптов и запросов к БД, для предотвращения возникновения ошибки в будущем. Либо, если оптимизация не представляется возможной, увеличить тарифный план, тем самым увеличить объем доступной памяти.

  2. Сервер не может стартовать из-за ошибки в конфигурации.

    Как правило это может возникнуть после правки конфигурационного файла my.cnf или обновления системы. В этом случае, следует откатить изменения и перезапустить сервер или отдельно MySQL.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

MySQL Query Error: SELECT … FROM … [Got error 28 from storage engine]

Ошибка может содержать любой SELECT, INSERT или UPDATE запрос, но при этом обязательно заканчивается уточнением Got error 28 from storage engine. Причиной ошибки является переполнения жесткого диска (HDD)

В этом случае, войдите на сервер по SSH и выполните команду df -h:

# df -h
Filesystem	Size	Used	Avail	Use%	Mounted on
/dev/sda2	9.6G	9.2G	0	100%	/
tmpfs	250M	0	250M	0%	/dev/shm
/dev/sda1	118M	102M	9.1M	92%	/boot

Основной раздел, в примере /dev/sda2 (так как он наибольший, что видно по колонке Size, и точка монтирования у него — корневая директория Mounted on /) используется на 100%

Для восстановления работы следует удалить более ненужные данные с диска или увеличить дисковое пространство.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

↑ вернуться к оглавлению

Ошибки подключения к базе в Битриксе. Свой текст ошибки

Если в настройках установлен вывод ошибок, то при возникновении ошибок базы данных Битрикс выводит на страницу сайта SQL запрос, который закончился ошибкой. . Это небезопасно, потому что в таком случае посетители сайта могут понять, как устроена база данных и выяснить слабые места сайта. Поэтому рекомендуем сделать страницу-заглушка, которая будет показываться вместо ошибки.

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

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
global $DB;
$sql = 'SELECT * FROM';
$DB->Query($sql);
?>

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

Можно такой вывод ошибки на собственную страницу, на которой можно написать, к примеру, обращение к пользователям сайта. Для создания такой страницы необходимо в папке сайта /bitrix/php_interface/ создать файл PHP файл с названием dbquery_error.php.

Рекомендуем ознакомиться со статьёй «Загрузка файлов на сайт с помощью FileZilla», в которой описан процесс работы с программой, которая может загрузить файл с вашего компьютера на сервер с сайтом. А так же с одной из статей. описывающих редактор файлов на сервере: «Средство разработки: Notepad++» или «Средство разработки: Atom»

После создания dbquery_error.php, вставьте в этот файл следующий код для обработки ошибки. В начале кода должны содержаться функции, которые очистят буфер вывода, иначе сообщение об ошибке все равно будет выведено:

<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$str = ob_get_contents(); // здесь находится сообщение об ошибке
ob_clean(); // очищаем буфер вывода
?>
Ой! В нашей базе данных случилась ошибка. Пожалуйста, напишите нам на "мэйл@адрес.ru", если видите это сообщение. Спасибо!

Первая строчка в примере if(!defined(«B_PROLOG_INCLUDED») … die(); не позволит скрипту выполниться, если пользователь перейдёт по адресу ваш_сайт.ru/bitrix/php_interface/dbquery_error.php. Код будет выполняться, только если он вызван из другого скрипта.

Чтобы иметь оперативную связь можно запрограммировать автоматическую отсылку мэйла на адрес техподдержки сайта внутри файла dbquery_error.php. Потому что если этот файл будет исполнен, то это значит, что ошибка уже есть на сайте. Поэтому предлагаем дописать предыдущий пример, добавив код отправки мэйла:

<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$str = ob_get_contents(); // здесь находится сообщение об ошибке
ob_clean(); // очищаем буфер вывода

// посылаем отчет об ошибке нам
   global $APPLICATION;
   $curPage = $APPLICATION->GetCurPage(); // адрес страницы сайта, на которой возникла ошибка

   $eol = "n";
   $to = 'мэйла@адрес_техподдержки.ru'; // кому отправлять мэйл

   $subject = 'Ошибка MySql ' . date("Y-m-d H:i:s"); // дата возникновения ошибки
   $message = 'Ошибка MySql:' . $str . $eol;
   $message = 'Возникла на странице: ' . $curPage . $eol;
   $message = wordwrap($message, 900, $eol); // ограничение ширины строки в письме

   $head   = array();
   $head[] = "MIME-Version: 1.0";
   $head[] = "Content-type: text/plain; charset=UTF-8";
   $head[] = "From: мэйл@адрес_сайта.ru <мэйл@адрес_сайта.ru>"; // от кого отправлять мэйл
   $head[] = "Subject: " . $subject;

   $a = mail($to, $subject, $message, implode("rn", $head));
?>
Ой! В нашей базе данных случилась ошибка. Пожалуйста, напишите нам на "мэйл@адрес.ru", если видите это сообщение. Спасибо!

В этом примере замените адрес «Кому» и «От кого» для правильной отправки мэйла.

Была ли статья полезной?

Была ли эта статья полезна?

Есть вопрос?

хостинг для сайтов

Закажите недорогой хостинг

Заказать

всего от 290 руб

Обновлено 30.05.2018

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. Чтобы это выяснить вам, потребуется включить дебагер. Нам нужно включить один параметр вот в этом файле.

/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

При заходе на любую страницу Битрикс выдаёт ошибку:

[BitrixMainDBConnectionException] 
Mysql connect error [localhost]: (2002) No such file or directory (400)
/home/bitrix/www/bitrix/modules/main/lib/db/mysqliconnection.php:82
#0: BitrixMainDBMysqliConnection->connectInternal()
	/home/bitrix/www/bitrix/modules/main/lib/data/connection.php:53
#1: BitrixMainDataConnection->getResource()
	/home/bitrix/www/bitrix/modules/main/lib/db/mysqlisqlhelper.php:21
#2: BitrixMainDBMysqliSqlHelper->forSql(string)
	/home/bitrix/www/bitrix/modules/main/lib/config/option.php:206
#3: BitrixMainConfigOption::load(string)
	/home/bitrix/www/bitrix/modules/main/lib/config/option.php:83
#4: BitrixMainConfigOption::getRealValue(string, string, boolean)
	/home/bitrix/www/bitrix/modules/main/lib/config/option.php:32
#5: BitrixMainConfigOption::get(string, string, string)
	/home/bitrix/www/bitrix/modules/main/lib/httprequest.php:394
#6: BitrixMainHttpRequest->prepareCookie(array)
	/home/bitrix/www/bitrix/modules/main/lib/httprequest.php:71
#7: BitrixMainHttpRequest->__construct(object, array, array, array, array)
	/home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:49
#8: BitrixMainHttpApplication->initializeContext(array)
	/home/bitrix/www/bitrix/modules/main/lib/application.php:130
#9: BitrixMainApplication->initializeExtendedKernel(array)
	/home/bitrix/www/bitrix/modules/main/include.php:21
#10: require_once(string)
	/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#11: require_once(string)
	/home/bitrix/www/bitrix/modules/main/include/prolog.php:10
#12: require_once(string)
	/home/bitrix/www/bitrix/header.php:1
#13: require(string)
	/home/bitrix/www/index.php:1
----------

Подскажите в чем может быть проблема?

Разворачиваю бекап сайта на локалке (опен сервер), в фале settings.php и dbconn.php, прописал верные данные подключения к базе данных,
кусок с файла dbconn :

define("DBPersistent", false);
$DBType = "mysql";

$DBHost = "localhost";
$DBLogin = "root";
$DBPassword = "";
$DBName = "zoo*****";
$DBDebug = false;
$DBDebugToFile = false;
define("MYSQL_TABLE_TYPE", "INNODB");
define("BX_USE_MYSQLI", true);

Кусок с файла settings:

  'connections' => 
  array (
    'value' => 
    array (
      'default' => 
      array (
        'className' => '\Bitrix\Main\DB\MysqliConnection',
        'host' => 'localhost',
        'database' => 'zoo****',
        'login' => 'root',
        'password' => '',
        'options' => 2,
      ),
    ),
    'readonly' => true,
  ),
);

Для отслеживания ошибки значение false в ‘debug’ => false, поставил на true ‘debug’ => true.
И получил на сайте следующее

[BitrixMainDBConnectionException] 
Mysql connect error [localhost]: (1049) Unknown database 'zoomagazine1' (400)
W:domainsZooMagazinebitrixmodulesmainlibdbmysqliconnection.php:65
#0: BitrixMainDBMysqliConnection->connectInternal()
    W:domainsZooMagazinebitrixmodulesmainlibdbmysqliconnection.php:122
#1: BitrixMainDBMysqliConnection->queryInternal(string, array, NULL)
    W:domainsZooMagazinebitrixmodulesmainlibdbconnection.php:330
#2: BitrixMainDBConnection->query(string)
    W:domainsZooMagazinebitrixmodulesmainlibconfigoption.php:226
#3: BitrixMainConfigOption::load(string, NULL)
    W:domainsZooMagazinebitrixmodulesmainlibconfigoption.php:53
#4: BitrixMainConfigOption::get(string, string, string)
    W:domainsZooMagazinebitrixmodulesmainlibhttprequest.php:392
#5: BitrixMainHttpRequest->prepareCookie(array)
    W:domainsZooMagazinebitrixmodulesmainlibhttprequest.php:69
#6: BitrixMainHttpRequest->__construct(object, array, array, array, array)
    W:domainsZooMagazinebitrixmodulesmainlibhttpapplication.php:46
#7: BitrixMainHttpApplication->initializeContext(array)
    W:domainsZooMagazinebitrixmodulesmainlibapplication.php:122
#8: BitrixMainApplication->initializeExtendedKernel(array)
    W:domainsZooMagazinebitrixmodulesmaininclude.php:23
#9: require_once(string)
    W:domainsZooMagazinebitrixmodulesmainincludeprolog_before.php:14
#10: require_once(string)
    W:domainsZooMagazinebitrixmodulesmainincludeprolog.php:10
#11: require_once(string)
    W:domainsZooMagazinebitrixheader.php:1
#12: require(string)
    W:domainsZooMagazineindex.php:3 

Догадываюсь что это связано с mysql — mysqli
Прошу помощи разобраться. Спасибо!

Возможно, вам также будет интересно:

  • Подключение модема ошибка 638
  • Подключение к online sbis ru ошибка 12029 ошибка при отправке запроса
  • Подключение к серверу mysql невозможно код ошибки 1040
  • Подключение к устройству ошибка кода ivms 4200 exe 302 камера отключена или недоступна
  • Подключение интернет ошибка 651 при подключении к интернету

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии