Ошибка MySQL 1153 - Получен пакет, размер которого превышает байты max_allowed_packet

mysql

361846 просмотра

14 ответа

Я импортирую дамп MySQL и получаю следующую ошибку.

$ mysql foo < foo.sql 
ERROR 1153 (08S01) at line 96: Got a packet bigger than 'max_allowed_packet' bytes

По-видимому, в базе данных есть вложения, что делает их очень большими.


Это на моей локальной машине, Mac с MySQL 5, установленный из пакета MySQL.

Где я могу изменить, max_allowed_packetчтобы иметь возможность импортировать дамп?

Есть что-нибудь еще, что я должен установить?

Просто запуск mysql --max_allowed_packet=32M …привел к той же ошибке.

Автор: kch Источник Размещён: 17.05.2019 03:18

Ответы (14)


507 плюса

Решение

Возможно, вам придется изменить его как для клиента (вы выполняете импорт), так и для демона mysqld, который запускает и принимает импорт.

Для клиента вы можете указать его в командной строке:

mysql --max_allowed_packet=100M -u root -p database < dump.sql

Также измените файл my.cnf или my.ini в разделе mysqld и установите:

max_allowed_packet=100M

или вы можете выполнить эти команды в консоли MySQL, подключенной к тому же серверу:

set global net_buffer_length=1000000; 
set global max_allowed_packet=1000000000;

(Используйте очень большое значение для размера пакета.)

Автор: Michael Pryor Размещён: 19.09.2008 06:10

118 плюса

Как сказал michaelpryor, вы должны изменить его как для клиента, так и для сервера демона mysqld.

Его решение для командной строки клиента хорошо, но ini-файлы не всегда делают свое дело, в зависимости от конфигурации.

Итак, откройте терминал, введите mysql, чтобы получить приглашение mysql, и выполните следующие команды:

set global net_buffer_length=1000000; 
set global max_allowed_packet=1000000000; 

Оставьте приглашение mysql открытым и запустите выполнение SQL командной строки на втором терминале.

Автор: Joshua Fox Размещён: 06.04.2009 06:42

34 плюса

Это можно изменить в вашем my.iniфайле (в Windows, расположенном в папке \ Program Files \ MySQL \ MySQL Server) в разделе сервера, например:

[mysqld]

max_allowed_packet = 10M
Автор: GHad Размещён: 18.09.2008 02:41

15 плюса

Перепишите my.cnf на Mac OS X при использовании MySQL из дистрибутива пакета mysql.com dmg

По умолчанию my.cnf нигде не найдено.

Вам нужно скопировать один из /usr/local/mysql/support-files/my*.cnfк /etc/my.cnfи рестарт mysqld. (Что вы можете сделать на панели настроек MySQL, если вы установили его.)

Автор: kch Размещён: 19.09.2008 08:31

12 плюса

В etc / my.cnf попробуйте изменить max_allowed _packet и net_buffer_length на

max_allowed_packet=100000000
net_buffer_length=1000000 

если это не работает, попробуйте изменить на

max_allowed_packet=100M
net_buffer_length=100K 
Автор: Amirtha Rajan Размещён: 03.02.2014 10:27

10 плюса

Исправление состоит в том, чтобы увеличить max_allowed_packet демона MySQL. Вы можете сделать это с работающим демоном, войдя в систему как Super и выполнив следующие команды.

# mysql -u admin -p

mysql> set global net_buffer_length=1000000;
Query OK, 0 rows affected (0.00 sec)

mysql> set global max_allowed_packet=1000000000;
Query OK, 0 rows affected (0.00 sec)

Затем, чтобы импортировать ваш дамп:

gunzip < dump.sql.gz | mysql -u admin -p database
Автор: Primoz Rome Размещён: 28.11.2013 07:38

5 плюса

На CENTOS 6 /etc/my.cnf в разделе [mysqld] правильный синтаксис:

[mysqld]
# added to avoid err "Got a packet bigger than 'max_allowed_packet' bytes"
#
net_buffer_length=1000000 
max_allowed_packet=1000000000
#
Автор: Mike Размещён: 02.10.2013 07:57

4 плюса

Используйте max_allowed_packetпеременную, выдав команду

mysql --max_allowed_packet=32M -u root -p database < dump.sql

Автор: Tomasz Tybulewicz Размещён: 18.09.2008 02:41

4 плюса

Немного не связано с вашей проблемой, так что вот для Google.

Если вы не выполняли mysqldump SQL, возможно, ваш SQL сломан.

Я только что получил эту ошибку, случайно обнаружив в своем коде незамкнутый строковый литерал. Небрежные пальцы случаются.

Это фантастическое сообщение об ошибке для бегущей строки, спасибо за это MySQL!

Автор: jplindstrom Размещён: 21.04.2010 02:55

1 плюс

Иногда тип установки:

max_allowed_packet = 16M

в my.ini не работает.

Попробуйте определить my.ini следующим образом:

set-variable = max_allowed_packet = 32M

или же

set-variable = max_allowed_packet = 1000000000

Затем перезапустите сервер:

/etc/init.d/mysql restart
Автор: Grzegorz Brzęczyszczykiewicz Размещён: 16.10.2015 07:09

1 плюс

Риск безопасности имеет max_allowed_packetболее высокое значение, поскольку злоумышленник может отправить пакеты большего размера и привести к сбою системы.

Итак, оптимальное значение max_allowed_packetдля настройки и тестирования.

Лучше изменить при необходимости (используя set global max_allowed_packet = xxx), чем иметь его как часть my.ini или my.conf .

Автор: Shiva Размещён: 26.07.2016 03:46

0 плюса

Установите для max_allowed_packet то же самое (или больше), что и при сбросе с помощью mysqldump. Если вы не можете сделать это, сделайте дамп снова с меньшим значением.

То есть, если вы выбросили его с помощью mysqldump. Если вы использовали какой-то другой инструмент, вы сами по себе.

Автор: MarkR Размещён: 18.09.2008 07:06

0 плюса

Я работаю в среде общего хостинга, и у меня есть веб-сайт на основе Drupal. Я не могу редактировать my.iniфайл или my.confфайл тоже.

Итак, я удалил все таблицы, которые были связаны, Cacheи, следовательно, я мог решить эту проблему. Тем не менее, я ищу идеальное решение / способ справиться с этой проблемой.

Edit - удаление таблиц создало для меня проблемы, потому что Drupal ожидал, что эти таблицы должны существовать. Поэтому я опустошил содержимое этих таблиц, что решило проблему.

Автор: Raj Pawan Gumdal Размещён: 03.03.2014 06:03

0 плюса

Ошибка:

ОШИБКА 1153 (08S01) в строке 6772: получен пакет больше, чем байты 'max_allowed_packet' Операция завершилась неудачно с кодом выхода 1

QUERY:

SET GLOBAL max_allowed_packet=1073741824;
SHOW VARIABLES LIKE 'max_allowed_packet'; 

Максимальное значение:

Default Value (MySQL >= 8.0.3)  67108864
Default Value (MySQL <= 8.0.2)  4194304
Minimum Value   1024
Maximum Value   1073741824
Автор: TinhNQ Размещён: 29.01.2019 06:33
Вопросы из категории :
32x32