Назад | Перейти на главную страницу

Ошибка 2020: размер пакета превышает max_allowed_packet в байтах при сбросе таблицы

Я получаю вышеупомянутую ошибку при резервном копировании с помощью ZRM, который использует mysqldump для резервного копирования.

mysqldump --opt --extended-insert --single-transaction --create-options --default-character-set = utf8 --user = "" -p --all-databases> "/ nfs / backup / mysql01 / dailyrun / 20091216043001 / backup.sql "

mysqldump: ошибка 2020: размер пакета превышает 'max_allowed_packet' байтов при сбросе таблицы TICKET_ATTACHMENT в ряду: 2286

Я увеличил размер max_allowed_packet до 1 Гб в /etc/my.cnf, который является настройкой сервера, а для настройки на стороне клиента я установил его, выполнив эту команду:

mysql -u -p --max_allowed_packet = 1 ГБ

И я убедился, что на стороне клиента и на стороне сервера они имеют одинаковую ценность.

Это необходимо для проверки значения на стороне клиента в соответствии с этим сообщением на форуме http://forums.mysql.com/read.php?35,75794,261640

mysql> ВЫБРАТЬ @@ MAX_ALLOWED_PACKET ->; + ---------------------- + | @@ MAX_ALLOWED_PACKET | + ---------------------- + | 1073741824 | + ---------------------- + 1 строка в наборе (0.00 сек)

И это проверка настройки значения сервера.

mysql> ПОКАЗАТЬ ПЕРЕМЕННЫЕ

| max_allowed_packet | >

1073741824 |

У меня закончились идеи, и я попытался найти решения в рамках обмена экспертами и поискать в Google, но пока ни один из них не помог.

Ссылка http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html

Кто-нибудь, пожалуйста, посоветуйте, спасибо.

Это ответ от обмена экспертами:

Вам нужно будет увеличить max_allowed_packet в разделе mysqldump в my.cnf, значение по умолчанию - 25M

[mysqldump] max_allowed_packet = 1 ГБ

В качестве альтернативы вы можете вызвать mysqldump с желаемым значением max_allowed_packet.

mysqldump --max_allowed_packet = 1 ГБ

Это не «альтернатива». mysqldump известен тем, что игнорирует это значение в my.cnf, но установка его в качестве параметра командной строки всегда работает.

Используйте команду ниже, чтобы исправить вашу проблему.

# mysqldump --max_allowed_packet=1024M -u root -p database > dumpfile.sql

Это решит вашу проблему

Примечание. Вы можете установить максимальное значение по своему усмотрению. Здесь мы использовали 1024M в качестве примера.

Есть несколько мест, где вам может понадобиться решить эту проблему: в командной строке, в разделе [mysqld] файла my.cnf и в разделе [mysqldump] файла my.cnf. Я просто боролся с этим и, наконец, заставил его работать, установив все это на 2G. У меня есть смутное подозрение, что побеждает самый младший ...