|
|
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, написал простую программку, которая открывает сервер сокет и ждет подключения клиента, после подключения клиента создает новый поток и в новом потоке подключается к СУБД MySQL, делает выборку данных и отправляет их клиенту. Все работает ок, но почему то через некоторого X времени работы программы, при подключении к серверу MySQL выбрасывается исключение: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. Перезапуск программы или самого сервера MySQL не решают проблему. Однако если ребутнуть машину полностью, все снова хорошо начинает работать... В чем может быть проблема? серверная часть работает на CentOS 6.5 Заранее большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2015, 15:10 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Попингуй и по-телнеть сервер в момент когда в логах будет возникать java.net.ConnectException: Connection timed out. И с новыми симптомами можно наверное топик переносить в обсуждение Linux/MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2015, 18:31 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_lax, Если есть возможность, то используйте вместо MySQL PostgreSQL. Он ведет себя более предсказуемо. И работать с ним приятнее. Хотя и раздражает своей излишней "строгостью". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 06:17 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
mad_nazgulЕсли есть возможность, то используйте вместо MySQL PostgreSQL. С тем же основанием можно было рекомендовать использовать PostgreSQL вместо Oracle. У меня программа должна была работать с Oracle продолжительное время, но соединение само собой закрывалось через 15 минут. Я естественно разобрался и устранил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 06:37 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
mad_nazgulVaneS Ri_lax, Если есть возможность, то используйте вместо MySQL PostgreSQL. Это просто капец какой-то. Рука-лицо. У автора нет проблем в выбором DBMS. У него проблема в стеке взаимодействия. Это как фокусника позвать если грустно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 09:24 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
maytonmad_nazgulVaneS Ri_lax, Если есть возможность, то используйте вместо MySQL PostgreSQL. Это просто капец какой-то. Рука-лицо. У автора нет проблем в выбором DBMS. У него проблема в стеке взаимодействия. Это как фокусника позвать если грустно. Это вариант! ;-) А так. Зачем иметь проблемы "в стеке взаимодействия", когда можно их просто не иметь, взяв другой инструмент. Просто у меня с MySQL постоянные проблемы "в стеке взаимодействия", когда с PostgreSQL таких проблем нет. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 11:35 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Мне интересно другое, почему перезагрузка MySQL и моей программы не помогают. Лечится только перезагрузкой самой машины. Почему если запустить эту же программу на windows то все ок работает. В какую сторону копать? Переход на другую СУБД не возможен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 12:40 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_laxМне интересно другое, почему перезагрузка MySQL и моей программы не помогают. Лечится только перезагрузкой самой машины. Почему если запустить эту же программу на windows то все ок работает. В какую сторону копать? Переход на другую СУБД не возможен... Проблема в машине может быть ? Драйвер глючит, сетка тоже может быть. Как минимум нужно убедиться что с машиной и сетью все в порядке. Поставить БД и приложение на другую машину и погонять. Вполне реально может быть глючит изернет карта, или драйвер Можно на машину дополнительно повесить отдельную изернет карту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 14:34 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_lax, На сервере/клиенте нет настроек firewall вида "количество_соединений/период"? http://www.cyberciti.biz/faq/iptables-connection-limits-howto/ Иногда настраивают "не больше 10 соединений с одного IP в минуту", потом забывают про это и мучаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2015, 15:43 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
lleming, Да вроде с машиной и с сеткой все в порядке, пытаюсь подключиться к БД на том сервере со своего компа все ок работает. Установил СУБД на другой выделенный сервер и пытаюсь чтобы он конектился не к локальной базе, а к удаленной, тоже не работает... У меня есть такое предположение: Сервер принимает запросы от клиента, создает новый поток и в новом потоке я регистрирую драйвер вот так: Код: java 1. далее он делает запрос к бд, отдает клиенту ответ и поток завершает свою работу... Код: java 1. [/SRC] Я так понимаю это статический метод, может ли это как то повлиять на такое поведение? Хотя думаю после завершения работы приложения все должно уничтожаться. Раньше приложение работало примерно 12 - 15 часов, потом 3-5, а сейчас перезагрузка машины вовсе не помогает, хотя работает та же программа. Ума не приложу что это может быть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 08:00 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
morewind, Нет, никаких подобных настроек у нас нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 08:01 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_lax, Раньше приложение работало примерно 12 - 15 часов, потом 3-5, а сейчас перезагрузка машины вовсе не помогает, хотя работает та же программа. вот это поведение странное. Чистый jdbc ? Никаких пулов ? Как вариант может быть такое. Неверная работа с БД. JDBC соединение к БД не закрывается правильно или не закрывается совсем. Открывается новое соединение с БД при каждой транзакции. Тогда такое вполне допустимо. Сначала был одни пользователь и хватало соединений а теперь с десяток и лимит соединений быстро исчерпывается. Хотя этот вариант не объясняет "а сейчас перезагрузка машины вовсе не помогает" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 11:04 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
"Да вроде с машиной и с сеткой все в порядке, пытаюсь подключиться к БД на том сервере со своего компа все ок работает" Долго ли все работает ОК? Может просто не успевает проявиться проблема. еще можно посмотреть (в этот момент соединения с БД) https://msdn.microsoft.com/en-us/library/aa560610(v=bts.20).aspx или взять какой ниудь сниффер и посмотреть траффик, или запустить через прокси и смотреть что происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 11:09 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Здесь тоже целый интересный тред http://stackoverflow.com/questions/2983248/com-mysql-jdbc-exceptions-jdbc4-communicationsexception-communications-link-fai оказывает если JVM out of heap тоже может быть такое, у когото версия jdbc драйвера неподходящая была. там кстати туча вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2015, 11:17 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
В общем решил проблему гениально. Правда не знаю почему было раньше такое поведение, но сейчас все работает))) В общем раньше моя программа подключалась к MySQL по localhost, пытался писать и 127.0.0.1 Были такие же глюки. Потом прописал белый внешний IP машины и о чудо, все нормально начало работать... Почему так, объяснить не могу... Но вот вторые сутки вроде как полет нормальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2015, 08:01 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Вот чудик! На коротком стеке работало нестабильно - ты стек удлинил и радуешся. Лучше-б нашёл где хомут висит. Может ты в Java Security "грязными руками" полез и потом забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2015, 11:43 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Если под белым внешним IP имеется ввиду IP доступный снаружи из Интернета, то как то не мудро выставлять БД наружу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2015, 14:13 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
Я не радуюсь, я уже 2-ю неделю пытаюсь разобраться... Как оказалось дело было в настройках MySQL. Доступ был доступен только с внешнего адреса. Сейчас все стабильно все работает на локальном хосте. Но почему раньше работало ответа пока нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2015, 15:49 |
|
||
|
Почему программа перестает подключаться к MySQL?
|
|||
|---|---|---|---|
|
#18+
VaneS Ri_laxЯ не радуюсь, я уже 2-ю неделю пытаюсь разобраться... Как оказалось дело было в настройках MySQL. Доступ был доступен только с внешнего адреса. Сейчас все стабильно все работает на локальном хосте. Но почему раньше работало ответа пока нет... В настройках пользователя mysql есть поля "host, user, max_connections, max_user_connections", возможно для пары localhost:username установлено ограничение, а для внешнего подключения этого же пользователя - нет (или оно пока не превышено - раз все работает). Соответствующий раздел документации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2015, 21:40 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39033794&tid=2124997]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
185ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 472ms |

| 0 / 0 |
