Ошибка mysqldump: получен пакет больше, чем max_allowed_packet ' - PullRequest
46 голосов
/ 11 января 2012

Мое приложение загружает почту через IMAP и сохраняет их в базе данных MySQL. Ранее я поддерживал размер писем до 10 МБ, и поэтому для хранения почтового содержимого было достаточно столбца «mediumtext». Теперь мне нужно поддерживать почту до 30 МБ. Поэтому я изменил тип данных для столбца на «большой текст». Вчера было сохранено письмо размером 25 МБ. После этого всякий раз, когда я выполняю команду mysqldump, она выдает ошибку:

mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `ib_mailbox_backup` at row: 3369

Строка 3369 содержит 25 МБ почты.

В конфигурации MySQL я увеличил max_allowed_packet с 64M до 512M, и он все еще не работает с той же ошибкой. Выполнение команды mysqldump на той же машине, где работает сервер MySQL. Как мне это решить?

Ответы [ 3 ]

108 голосов
/ 11 января 2012
  1. Вы можете добавить --max_allowed_packet=512M к вашей команде mysqldump.
  2. Или добавьте max_allowed_packet=512M в [mysqldump] раздел вашего my.cnf (спасибо @Varun)

Примечание: он не будет работать, если он не находится в разделе [mysqldump] ...

2 голосов
/ 24 июля 2017

Некоторые из моих скриптов перестали работать после обновления до Debian 9 & MariaDB.

MariaDB в Debian представляет новый конфигурационный файл специально для настроек mysqldump (/etc/mysql/conf.d/mysqldump.cnf). Если вы ранее установили max_allowed_packet <> 16M в своем стандартном /etc/mysql/my.cnf, новый файл конфигурации перезапишет этот параметр. Поэтому обязательно проверьте этот новый файл конфигурации и либо удалите запись, либо настройте ее в соответствии со своими потребностями.

Я не уверен, было ли изменение введено в результате перехода с MySQL на MariaDB или если Debian изменил расположение файлов конфигурации в V9.

0 голосов
/ 02 апреля 2016

У меня была похожая ошибка, и я потерпел неудачу с размером пакета 512 МБ в строке 0. Это была таблица innodb, которая была явно повреждена (mysqlcheck показал OK).Я закончил воссоздание таблицы, а затем она отлично работала с небольшим размером пакета всего 128M.

...