MySQL server has gone away -- как увеличить время до таймаута соединения

Forums:

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 9
Current database: firstsql

Решение

Такая ошибка может возникать, если mysql не дождался ответа от сервера и разорвал соединение. Волноваться не стоит, если результат запроса всё-таки вывелся на экран.

Прежде чем увеличивать время до таймаута, обратите внимание на ваш код. Возможно есть проблемы в конфигурации соединения или произошло зацикливание запроса. В этом случае, после наведения порядка в вашем проекте, ошибка пропадёт.

И всё же.

Изменить значение время ожидания ответа в mysql можно так:

  1. Заходим в файл конфигурации mysql:
    sudo nano /etc/mysql/my.cnf
  2. Изменяем в секции [mysqld], если таковая имеется параметр connect_timeout на значение, необходимое вам (в секундах). По умолчанию он равен 10.
    Также рекомендуется установить для параметров wait_timeout и interactive_timeout значение = 180 для сокращения ожидания в неинтерактивных соединениях (по умолчанию равно 28800).
    Если секции нет, просто добавляем её. Должно выглядеть так:
    [mysqld]
    connect_timeout = 10
    wait_timeout = 180
    interactive_timeout = 180
  3. Перезапускаем mysql server:
    sudo service mysql restart

Источники

https://www.digitalocean.com/community/q...
https://dba.stackexchange.com/questions/...