База данных содержала таблицы в которых были blob поля. Вся проблема оказалась в параметре max_allowed_packet он был равен 1 Мб у меня на сервере, а blob поля которые были в запросе имели размер больше 1 Мб.
Для просмотра значения max_allowed_packet я выполнил следующий запрос:
show variables like 'max_allowed_packet';Результат мы получим в байтах (Рис.1).
Рис. 1
Для изменения я выполнил следующие действия (У меня Windows Vista и MySQL Server 5.1):- Найти файл my.ini (Для Linux нужен файл
my.cnf)(По умолчанию находится в каталоге, в который устанавливался сервер(у меня С:\Program Files\MySQL\MySQL Server 5.1\), или в папке Windows)
- Открыть его и изменить значение max_allowed_packet.Если у вас нет такой строчки - тогда найдите секцию [mysqld](у меня уже была создана и содержала значение порта port=3306) и допишите следующею строчку
- Теперь нужно перезагрузить сервер MySQL для того чтобы все изменения вступили в силу (Для перезагрузки нужно выполнить следующие действия Пуск->Панель управления->Администрирование->Службы ищем в списке MySQL и нажимаем на нем правой кнопкой мыши, после чего появится меню в котором нужно выбрать Свойства(Рис.2). После чего откроется окно "Свойства" с помощью которого можно осуществить перезагрузку службы MySQL сервера. Для перезагрузки нужно нажать кнопку "Остановить"(пункт 1 Рис.3) после остановки сервера станет доступной кнопку "Запустить", теперь нужно нажать кнопку "Запустить"(пункт 2 Рис.3) Все сервер перезагружен, теперь нажимаем "ОК"(пункт 3 Рис.3)).
max_allowed_packet = 32MУ вас может быть больше или меньше 32, мне было достаточно 32 Мб. Сохраняем файл my.ini
Рис. 2
Рис. 3
Теперь нам нужно проверить вступило ли все в силу или нет, для этог нам нужно выполнить запрос, который мы выполняли в начале:show variables like 'max_allowed_packet';Результат запроса: 33554432байта что в свою очередь равно нашим 32Мб, которые мы установили в файле настроек.
PS: Статья была описана как заметка на будущее. Информация была частично с официального сайта MySQL.
3 комментария:
Спасибо Вам огромное. Вес нэт перерыл. Всё пишут как для спецов.
Спасибо! Помогло!
Резернавя копия биртикса не хотела распаковываться на денвере. Ваш совет помог, все заработало:) Спасибо!
Отправить комментарий