Меню

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

 

Есть проблемы не работает 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' => '\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
Прошу помощи разобраться. Спасибо!

В этой статье мы расскажем, из-за чего возникает ошибка «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.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

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

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Подключение к серверу mysql невозможно код ошибки 1040
  • Подогрев датчика кислорода ошибка гранта