Как говорили другие участники этого потока, наиболее вероятно, что сервер MySQL закрыл соединение с вашим приложением Ruby on Rails из-за неактивности. Время ожидания по умолчанию составляет 28800 секунд или 8 часов.
set-variable = wait_timeout=86400
Добавление этой строки в /etc/my.cnf
увеличит время ожидания до 24 часов.
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#option_mysqld_wait_timeout.
Хотя в документации это не указано, значение 0 может полностью отключить тайм-аут, но вам придется поэкспериментировать, поскольку это всего лишь предположение.
Однако есть три другие известные мне ситуации, которые могут вызвать эту ошибку. Первый - это перезапуск сервера MySQL. Это, очевидно, разорвет все соединения, но поскольку клиент MySQL пассивен, и этого не будет замечено, пока вы не выполните следующий запрос.
Второе условие - если кто-то убивает ваш запрос из командной строки MySQL, и это также разрывает соединение, потому что это может оставить клиента в неопределенном состоянии.
Последнее, если ваш сервер MySQL перезагружается из-за фатальной внутренней ошибки. То есть, если вы делаете простой запрос к таблице и сразу видите «MySQL ушёл», я бы внимательно посмотрел логи вашего сервера, чтобы проверить аппаратную ошибку или повреждение базы данных.