MySQL и MariaDB LinuxWindowsMySQL Server

MySQL: При импорте SQL дампа появляется ошибка размера пакета

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Импорт SQL может завершаться с MySQL server has gone away, Got a packet bigger than max_allowed_packet или Error 1153, когда длинный INSERT/большое значение превосходит лимит пакета у клиента или сервера. Но обрыв сети и память дают похожие симптомы.

В этой статье
  1. Как проявляется проблема и где искать причину
  2. Пошаговая диагностика и устранение
  3. Как проверить результат
  4. Если исправление не помогло

#Как проявляется проблема и где искать причину

Импорт SQL может завершаться с MySQL server has gone away, Got a packet bigger than max_allowed_packet или Error 1153, когда длинный INSERT/большое значение превосходит лимит пакета у клиента или сервера. Но обрыв сети и память дают похожие симптомы.

Возможная причинаКак узнатьЧто делать
Слишком большой SQL-пакетДамп содержит длинный INSERT или BLOBЖурнал указывает 1153 или max_allowed_packetСравнить лимиты клиента и сервера
Сетевой обрывКлиент сообщает Lost connection без сообщения о пакетеПроблема зависит от длительности/сетиПроверить таймауты, сеть и логи

#Пошаговая диагностика и устранение

  1. 1. Получите конкретный код ошибкиОткройте журнал импорта и найдите первое сообщение: ERROR 1153 (Got a packet bigger than max_allowed_packet) отличается от ERROR 2013 (Lost connection). Зафиксируйте строку файла и место остановки без передачи содержимого персональных данных.
  1. 2. Проверьте серверный лимитПодключитесь к тому же экземпляру MySQL и выполните запрос. Значение выводится в байтах; 67108864 означает около 64 МиБ. Запишите текущую величину и версию сервера.
  2. mysql-клиент, чтение; системные настройки могут отличаться от клиентских
    SQLКоманда
    mysql-клиент, чтение; системные настройки могут отличаться от клиентских.
    SHOW VARIABLES LIKE 'max_allowed_packet';
  1. 3. Уточните характеристики большого оператораВ безопасной копии дампа найдите строки с крупными INSERT/BLOB и оцените размер без публикации содержимого. Если огромный пакет формируется приложением при экспорте, рассмотрите экспорт с меньшими INSERT-пакетами или специализированный инструмент.
  1. 4. Проверьте параметры командного клиентаКоманда mysql --help показывает поддерживаемую опцию max-allowed-packet; если клиент ограничивает пакет, ему также потребуется достаточный лимит. Не передавайте пароль прямо в аргументе.
    Linux · Терминал (Bash)Команда
    Linux/macOS shell; только справка, на Windows используйте поиск по выводу.
    mysql --help | grep -i "max-allowed-packet"
  1. 5. Спланируйте безопасное изменениеЕсли превышение размера доказано, согласуйте значение, достаточное для конкретного оператора, учтя максимальный размер поддерживаемого сервером и расход оперативной памяти. Изменение глобальной переменной может требовать административных прав и нового подключения; не применяйте ко всему серверу наугад.
  1. 6. Повторите импорт в тестовую схемуИспользуйте командный клиент, задав лимит только клиенту, но лишь если сервер уже допускает такой пакет. Запустите тестовый импорт в заранее созданную пустую схему с достаточным местом.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)С осторожностью
    Linux/macOS shell; схема test_restore должна существовать и быть пустой; параметры примера замените.
    mysql --max-allowed-packet=64M --user=appuser --password test_restore < backup.sql

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. 7. Проверьте журнал и полноту данныхУбедитесь, что импорт завершился без ошибок и восстановлено ожидаемое число таблиц. Если снова ERROR 1153, уточните фактический серверный лимит нового соединения; если ERROR 2013, проверьте соединение, журналы сервера и время импорта.
  1. 8. Верните параметры и документируйте измененияЕсли серверный параметр временно менялся, согласуйте возврат или постоянный лимит с DBA. Не сохраняйте в документации пароль. Дальнейшие массовые загрузки проведите через тестируемый штатный процесс.

#Как проверить результат

Повторный импорт в пустую тестовую базу завершается без ошибки пакета, структура и контрольные строки восстановлены полностью.

#Если исправление не помогло

Если ограничение связано с отдельной огромной BLOB-записью, безопаснее изменить способ переноса данных, чем бесконечно увеличивать размер пакета для всей базы.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.