URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7301
[ Назад ]

Исходное сообщение
"MySQL error: MySQL server has gone away"

Отправлено grishkin , 08-Апр-08 16:01 
Есть 2 процесса, которые используют локальное подключения к БД. Подключаются без ошибок. 1 из них затем начинает писать в лог эту ошибку "MySQL server has gone away", используя mysql_error(), а mysql_query() возвращаеь код = 1, перед вызовом mysql_query(), mysql_ping() отрабатывает без ошибок. Второй работае нормально, без ошибок. В чём может быть проблема?

Содержание

Сообщения в этом обсуждении
"MySQL error: MySQL server has gone away"
Отправлено pentarh , 08-Апр-08 20:15 
>Есть 2 процесса, которые используют локальное подключения к БД. Подключаются без ошибок.
>1 из них затем начинает писать в лог эту ошибку "MySQL
>server has gone away", используя mysql_error(), а mysql_query() возвращаеь код =
>1, перед вызовом mysql_query(), mysql_ping() отрабатывает без ошибок. Второй работае нормально,
>без ошибок. В чём может быть проблема?

http://www.mysql.ru/docs/man/Gone_away.html


"MySQL error: MySQL server has gone away"
Отправлено grishkin , 09-Апр-08 11:33 
Я читал это. У меня таймаут опроса 10-15с иногда 1с по умолчанию 8 часов, дескриптор базы я не закрываю никто прогу не убивает, но теряется связь с сервером. И она теряется только у 1 проги. 2 работает как ни вчём не бывало.


"MySQL error: MySQL server has gone away"
Отправлено Wulf , 09-Апр-08 14:34 
>Есть 2 процесса, которые используют локальное подключения к БД. Подключаются без ошибок.
>1 из них затем начинает писать в лог эту ошибку "MySQL
>server has gone away", используя mysql_error(), а mysql_query() возвращаеь код =
>1, перед вызовом mysql_query(), mysql_ping() отрабатывает без ошибок. Второй работае нормально,
>без ошибок. В чём может быть проблема?

Это не может быть: http://dev.mysql.com/doc/refman/5.0/en/auto-reconnect.html ?


"MySQL error: MySQL server has gone away"
Отправлено grishkin , 09-Апр-08 14:47 
Ну пока сделал так: установил reconnect и делаю mysql_ping перед каждым запросом. Вроде пока работает, на на мой взгляд это костыль. Такого быть не должно


"MySQL error: MySQL server has gone away"
Отправлено angra , 09-Апр-08 14:52 
Это не костыль, а правильно написанная программа, которая учитывает, что она работает в реальном мире, а не является сферическим конем в вакууме. В реальном мире коннекты имеют свойство обрываться, причем по самым разным причинам.

"MySQL error: MySQL server has gone away"
Отправлено grishkin , 09-Апр-08 14:57 
Я согласен что они рвутся, но не так же часто, при том что это unix socket

"MySQL error: MySQL server has gone away"
Отправлено Wulf , 09-Апр-08 16:41 
>Я согласен что они рвутся, но не так же часто, при том
>что это unix socket

Они не рвутся :-) Их сервер сам закрывает, вероятно по тайм-ауту. Сам я на эту граблю нарвался, когда freeradius ночью стал отваливаться от базы после смены версии mysqlclient-а c 4.1 на 5.0. :-( Пришлось править радиус.


"MySQL error: MySQL server has gone away"
Отправлено grishkin , 09-Апр-08 16:46 
Таймауты нормальные и не должны срабатывать. А вот почему он их избирательно закрывает я не пойму. 2 прога работает без этих костылей. =))