Две наиболее распространенные причины получения ошибки MySQL server has gone away (error 2006) это:
1) Сервер закрыл соединение по таймауту.
Исправить можно так: проверить чтобы значение переменной wait_timeout в конфиг файле MySQL — my.cnf было достаточным для выполнения скрипта.
На Debian нужно выполнить:
sudo nano /etc/mysql/my.cnf
и установить wait_timeout = 600 ( значение задается в секундах, если ошибка не пропадет поиграйтесь с этим значением, чтобы найти оптимальное), после этого нужно перезапустить MySQL:
sudo /etc/init.d/mysql restart
2) Сервер сбрасывает (отклоняет) неправильные или слишком большие пакеты. Если mysqld получает пакет данных, который слишком большой или не корректный, он думает что что-то пошло не так или с клиентом случилась какая-то беда и закрывает соединение. Часто такая ошибка возникает при импорте дампов содержащих большие тексты.
Исправить можно так: вы можете увеличить максимальный размер пакета увеличив значение max_allowed_packet в файле my.cnf.
На Debian: нужно выполнить:
sudo nano /etc/mysql/my.cnf
и установить max_allowed_packet = 64M (если ошибка не пропадет поиграйтесь с этим значением, чтобы найти оптимальное), после этого нужно перезапустить MySQL
sudo /etc/init.d/mysql restart