MySQL: server has gone away при импорте sql dump'а

«MySQL: server has gone away». Как с этим бороться в винде? Вылезает при операции mysql -u user -p db < dump.sql (300 метров). В *nix на той же версии mysql проблем нет.
  • Вопрос задан
  • 7971 просмотр
Пригласить эксперта
Ответы на вопрос 3
ServDev
@ServDev
Попробуйте изменить в конфиге MySQL max_allowed_packet
Ответ написан
cyberia
@cyberia
Веб-разработчик, плавно перехожу в мобильные разра
@lubezniy
Проблема такая возникает, если дамп делать с опцией extended-insert, когда он пишется в стиле:

INSERT INTO ttable VALUES (1,'2','3'),(2,'2','4'),(4,'5','1');

Наборов значений может быть полно.Насколько я заметил, такие запросы обрабатываются только целиком, а для этого клиенту нужно считать сразу весь запрос. Если значений очень много (сталкивался на таблицах с сотнями тысяч записей), то задача упирается или в превышение max_allowed_packet (об этом выдаётся сообщение), или в нехватку выделяемой оперативной памяти (в этом случае сервер валится вместе с процессом).
Во избежание подобных ситуаций предпочитаю делать дамп с отключенным --extended-insert, когда на один INSERT-запрос приходится один набор значений. Размер дампа, естественно, увеличивается, но его можно обработать без таких проблем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы