MySQL: как изменить максимальную длинну запроса или ошибка "ERROR 1153 (08S01) at line 1: Got a packet bigger than 'max_allowed_packet' bytes"




950
MySQL: как изменить максимальную длинну запроса или ошибка "ERROR 1153 (08S01) at line 1: Got a packet bigger than 'max_allowed_packet' bytes"
Рейтинг 10 из 10. Голосов: 60
Ваша оценка:
Если в ответ на запрос вываливается такая ошибка:

ERROR 1153 (08S01) at line 1: Got a packet bigger than 'max_allowed_packet' bytes

то, очевидно, что запрос, который Вы сформировали (или софт, который обращается к MySQL) - слишком длинный для его обработки.

Пути решения два:
  • Если софт писали Вы (например, это сайт или просто Ваша программа) - то оптимизировать запрос так, чтобы он вписывался в стандартную длинну 65535 символов.
  • Если изменить длинну запроса нельзя - то меняем переменную max_allowed_packet в файле конфигурации.


Смотрим текущее значение

Посмотреть значение max_allowed_packet можно через запрос в самом MySQL:

mysql> SHOW VARIABLES LIKE 'max_allowed_packet';


Меняем значение max_allowed_packet

Для этого открываем файл my.cnf на редактирование. 

Теперь в разделе [mysqld] дописываем (или изменяем, если уже существует) строчку:
max_allowed_packet = 32M
где вместо 32M - подставьте нужное Вам значение.

По-умолчанию обычно стоит 16M (16*1024*1024).


После изменения - перезапустите сервис MySQL.

для Debian/ubuntu:
$ sudo /etc/init.d/mysql restart

для CentOS/RedHat:
$ sudo /etc/init.d/mysqld restart

для FreeBSD:
$ sudo /usr/local/etc/rc.d/mysql-server restart

Вопросы и ответы

Илья
2020-06-21 21:46:42
напишите полный путь к my.cnf

Оставить комментарий

ответить