Есть 2 процесса, которые используют локальное подключения к БД. Подключаются без ошибок. 1 из них затем начинает писать в лог эту ошибку "MySQL server has gone away", используя mysql_error(), а mysql_query() возвращаеь код = 1, перед вызовом mysql_query(), mysql_ping() отрабатывает без ошибок. Второй работае нормально, без ошибок. В чём может быть проблема?
>Есть 2 процесса, которые используют локальное подключения к БД. Подключаются без ошибок.
>1 из них затем начинает писать в лог эту ошибку "MySQL
>server has gone away", используя mysql_error(), а mysql_query() возвращаеь код =
>1, перед вызовом mysql_query(), mysql_ping() отрабатывает без ошибок. Второй работае нормально,
>без ошибок. В чём может быть проблема?
Я читал это. У меня таймаут опроса 10-15с иногда 1с по умолчанию 8 часов, дескриптор базы я не закрываю никто прогу не убивает, но теряется связь с сервером. И она теряется только у 1 проги. 2 работает как ни вчём не бывало.
>Есть 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 ?
Ну пока сделал так: установил reconnect и делаю mysql_ping перед каждым запросом. Вроде пока работает, на на мой взгляд это костыль. Такого быть не должно
Это не костыль, а правильно написанная программа, которая учитывает, что она работает в реальном мире, а не является сферическим конем в вакууме. В реальном мире коннекты имеют свойство обрываться, причем по самым разным причинам.
Я согласен что они рвутся, но не так же часто, при том что это unix socket
>Я согласен что они рвутся, но не так же часто, при том
>что это unix socketОни не рвутся :-) Их сервер сам закрывает, вероятно по тайм-ауту. Сам я на эту граблю нарвался, когда freeradius ночью стал отваливаться от базы после смены версии mysqlclient-а c 4.1 на 5.0. :-( Пришлось править радиус.
Таймауты нормальные и не должны срабатывать. А вот почему он их избирательно закрывает я не пойму. 2 прога работает без этих костылей. =))