Грешки в заявките към БД
48 / 50

При възникване на грешки в заявките към базата данни на екрана се показва съобщение от вида:

Стандартния вид на това съобщение се определя във файла /bitrix/php_interface/dbquery_error.php.

Понякога възниква ситуация, когато сайта престава да отговаря, и посетителите виждат празна страница. В този случай се препоръчва да се отвори файл 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 се съхранява в каталога mysqlbin) и позволява да се получи описание на грешката по нейния код:

Забележка: За грешки с код 28 се показва следното описание:

Това съобщение означава, че на диска, където е инсталирана базата данни, няма достатъчно място за нейната работа.

Ако става на въпрос за повреда в базата данни, то се препоръчва използване на вградения инструмент на системата за проверка и възстановяване на базата данни. Използването на скрипта за проверка и възстановяване на базата данни позволява оперативно да се възстанови работата на сайта.

Обърнете внимание на следното:
  • Скрипта за проверка и възстановяване на базата данни може да се използва само за MySQL с тип на таблиците MyISAM.
  • Скрипта за проверка се стартира от административния раздел на сайта:

    Настройки -> Инструменти -> Проверка на БД.

     

    В случай, че са повредени таблиците на статистиката и няма възможност да се премине към административния раздел, сбора на статистиката може да бъде временно изключен с помощта на параметъра ?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.

0

 Премини тест за самопроверка


 Грешки при свързване към БД | Описание на курса | Грешки на сървъра