Сервер MySQL ушел - точно за 60 секунд

В большинстве разработок есть место для обоих.

Модульное тестирование предназначено для тестирования небольших блоков кода, чтобы убедиться, что они работают как положено.

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

Они находятся на разных уровнях, и оба должны быть использованы.

62
задан Bill 29 October 2009 в 15:13
поделиться

4 ответа

Причиной этого является параметр php mysql.connect_timeout . Он используется не только для тайм-аута подключения, но и для ожидания первого ответа от сервера. Вы можете увеличить его следующим образом:

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300); 
73
ответ дан 24 November 2019 в 16:49
поделиться

куча вещей, которые могут вызвать это. Я прочитал их и попробовал каждый из них

http://dev.mysql.com/doc/refman/5.1/en/gone-away.html

Я работал над несколькими компаниями веб-хостинга годы и вообще, когда я это вижу, это wait_timeout на стороне сервера, хотя здесь, похоже, это не так.

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

6
ответ дан 24 November 2019 в 16:49
поделиться

Я заметил кое-что, возможно имеющее отношение к делу.

У меня было запущено два сценария, оба выполняли довольно медленные запросы. Один из них запер столик, а другому пришлось ждать. Тот, который ждал, имел default_socket_timeout = 300. В конце концов он завершился с сообщением «Сервер MySQL ушел». Однако список процессов mysql продолжал показывать оба запроса: медленный все еще работающий, а другой заблокированный и ожидающий.

Так что я не думаю, что mysqld является виновником. Что-то изменилось в клиенте php mysql. Вполне возможно, что default_socket_timeout, который я сейчас установлю в -1, чтобы посмотреть, изменится ли что-нибудь.

1
ответ дан 24 November 2019 в 16:49
поделиться

Мой случай был связан с повреждением базы данных после незначительного обновления mysql в основном с 5.0.x до 5.1.x. с БД в myisam. Те же строки в запросе: Сервер MySQL ушел Ошибка при чтении заголовка набора результатов

После восстановления и оптимизации с помощью mysqlcheck он вернулся в нормальное состояние без необходимости изменять время ожидания сокета.

2
ответ дан 24 November 2019 в 16:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: