Ошибка MySQL 1153 - Получен пакет, размер которого превышает байты max_allowed_packet
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 …
привел к той же ошибке.
Ответы (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:10118 плюса
Как сказал 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:4234 плюса
Это можно изменить в вашем 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, если вы установили его.)
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
4 плюса
Немного не связано с вашей проблемой, так что вот для Google.
Если вы не выполняли mysqldump SQL, возможно, ваш SQL сломан.
Я только что получил эту ошибку, случайно обнаружив в своем коде незамкнутый строковый литерал. Небрежные пальцы случаются.
Это фантастическое сообщение об ошибке для бегущей строки, спасибо за это MySQL!
Автор: jplindstrom Размещён: 21.04.2010 02:551 плюс
Иногда тип установки:
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 .
0 плюса
Установите для max_allowed_packet то же самое (или больше), что и при сбросе с помощью mysqldump. Если вы не можете сделать это, сделайте дамп снова с меньшим значением.
То есть, если вы выбросили его с помощью mysqldump. Если вы использовали какой-то другой инструмент, вы сами по себе.
Автор: MarkR Размещён: 18.09.2008 07:060 плюса
Я работаю в среде общего хостинга, и у меня есть веб-сайт на основе Drupal. Я не могу редактировать my.ini
файл или my.conf
файл тоже.
Итак, я удалил все таблицы, которые были связаны, Cache
и, следовательно, я мог решить эту проблему. Тем не менее, я ищу идеальное решение / способ справиться с этой проблемой.
Edit - удаление таблиц создало для меня проблемы, потому что Drupal ожидал, что эти таблицы должны существовать. Поэтому я опустошил содержимое этих таблиц, что решило проблему.
Автор: Raj Pawan Gumdal Размещён: 03.03.2014 06:030 плюса
Ошибка:
ОШИБКА 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
Вопросы из категории :
- mysql Двоичные данные в MySQL
- mysql Насколько большой может быть база данных MySQL до того, как производительность начнет снижаться
- mysql Выбрать все столбцы, кроме одного в MySQL?
- mysql MySQL или PDO - каковы плюсы и минусы?
- mysql Как выбрать n-ую строку в таблице базы данных SQL?
- mysql MyISAM против InnoDB
- mysql Обмен значениями столбца в MySQL
- mysql Есть ли способ увидеть ход выполнения инструкции ALTER TABLE в MySQL?
- mysql MySQL Error 1093 - Can't specify target table for update in FROM clause
- mysql Как я могу предотвратить SQL-инъекцию в PHP?
- mysql Как быстро переименовать базу данных MySQL (изменить имя схемы)?
- mysql Получил ошибку 122 из механизма хранения
- mysql Простой способ экспортировать таблицу SQL без доступа к серверу или phpMyADMIN
- mysql mysqldump | mysql выдает ошибку «слишком много открытых файлов». Зачем?
- mysql Ошибка MySQL 1153 - Получен пакет, размер которого превышает байты max_allowed_packet
- mysql Как создать индекс в части даты поля DATETIME в MySql
- mysql Какое наилучшее решение для пула соединений с базой данных в python?
- mysql Активный флаг или нет?
- mysql Запустите MySQLDump без таблиц блокировки
- mysql Как восстановить файл дампа из mysqldump?