Ошибка MySQL server has gone away
Ошибка MySQL Server Has Gone Away (error 2006) может возникнуть в различных случаях.
Таймаут соединения
Наиболее распространенная проблема: таймаут соединения, в результате чего сервер его закрывает. Решение весьма просто — увеличение лимита времени для параметра wait_timeout в файле конфигурации my. cnf. Для этого на хостинг сервере Linux необходимо отредактировать файл конфигурации MySQL:
/etc/my. cnf
Установить таймаут ожидания для параметра wait_timeout — количество секунд, в течение которых сервер ждет активности в неинтерактивном соединении, прежде чем закрыть его, можно установить вплоть до 28800 с (8 часов).
[mysqld]
. . . wait_timeout = 600
. . .
Затем перезагрузить сервер базы данных MySQL:
service mysql restart
Большой или некорректный пакет
Вторая распространенная проблема: сервер получает большой или некорректный пакет и отклоняет его. В этом случае сервер считает, что проблема на стороне клиента и закрывает соединение. Так что для решения нужно увеличить лимит на максимальный размер пакета все в том же файле конфигурации.
Увеличение лимита размера входящего пакета, в МБ
[mysqld]
. . . max_allowed_packet = 256M
…
Также не забудьте перезагрузить сервер баз данных.