The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Базы данных, SQL" / Оглавление документа

Часть 3. Другие случаи.

Глава 8. Большие объёмы данных.

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

Один из вариантов - маленький max_allowed_packet для передаваемых данных. Переменная MySQL сервера max_allowed_packet определяет максимально возможный объём данных, которые MySQL сервер может получать или отдавать. Размер max_allowed_packet задан в байтах.

Ошибка обычно воспроизводится так:

$mysql51 test <phpconf2009_1.sql
ERROR 1153 (08S01) at line 33: Got a packet bigger than 'max_allowed_packet' bytes

В данном случае всё понятно: сообщение об ошибке однозначно.

Но иногда это воспроизводится так:

$./my sql test <phpconf2009_1.sql
ERROR 1064 (42000) at line 33: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00000000000000000000000000000000000000000000000000000000000000000000000000000000' at line 2

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

max_allowed_packet должен быть установлен как для сервера, так и для клиента это разные значения. Также обратите внимание, что max_allowed_packet это значения для запроса целиком, включая SQL, не только для вносимых данных. Отсюда ошибки для запросов типа SELECT REPEAT('a', 10000000);

mysql> \W
Show warnings enabled.
mysql> SELECT REPEAT('A', 10000000);
+-----------------------+
| REPEAT('A', 10000000) |
+-----------------------+
| NULL                  |
+-----------------------+
1 row in set, 1 warning (0.00 sec)

Warning (Code 1301): Result of repeat() was larger than max_allowed_packet (1048576) - truncated

Приём 15: проверяйте значение max_allowed_packet и размер передаваемых данных если сервер выдаёт ошибку для синтаксически правильного запроса.

Назад Содержание Вперёд

Автор 2009 Света Смирнова
COPYRIGHT © 2009 С.Смирнова и С.Ласунов
sveta_гав_js-client_точка_com




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру