Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy

#1
MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy
Witam. Napisałem serwlet w Javie, który uruchamia się lokalnie na komputerze (lokalny serwer z użyciem Spring i REST) i ma za zadanie zwrócić informacje o znalezionym w bazie danych rekordzie. Korzystam z biblioteki MySQL JConnector. Serwlet uruchamia się w momencie wpisania w przeglądarkę

Kod:
localhost:8080/sqlquery
i nawiązuje połączenie z bazą w następujący sposób:

Kod:
conn = DriverManager.getConnection("jdbc:mysql://***.******.pl",
"login", "haslo");
Niestety po chwili strona w przeglądarce przestaje się ładować, a serwlet wypisuje błąd
Kod:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    ...
    at java.lang.Thread.run(Thread.java:745)

Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    ...

Mam też samodzielną aplikację w Javie napisaną w podobny sposób, która łączy się z inną bazą danych, ale efekt jest taki sam. Myślałem że może router blokuje ruch, ale połączyłem się z siecią w innym miejscu i dalej dzieje się to samo. Ponadto, tę aplikację napisałem kilka miesięcy wcześniej i wtedy wszystko działało sprawnie. Najpewnie problem leży w moim komputerze. Wyłączyłem ochronę antywirusa i oba firewalle (systemowy i z Bitdefender Total Security) ale to też nie pomogło.
Korzystam z Windowsa 8.1. Mam też OkayFreedom VPN, ale w momencie testowania był wyłączony.
 System operacyjny: windows_eight Przeglądarka: firefox
#2
RE: MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy
Baza danych jest na zewnętrznym serwerze? Jeżeli tak to sprawdź jakie porty są używane przez bazę danych i czy są one otwarte na routerze i Twoim komputerze. Sprawdź, czy zewnętrzny serwer bazodanowy obsługuje połączenia z innych IP (na hostingach to często jest zablokowane). Zdarza się, że konkretne porty blokuje również dostawca internetu. Czy możesz podłączyć się do tej bazy używając jakiegoś programu do obsługi baz (phpMyAdmin lub inny)?
 System operacyjny: windows_seven Przeglądarka: firefox
#3
RE: MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy
(08.07.2015, 09:34)koneton napisał(a): Baza danych jest na zewnętrznym serwerze? Jeżeli tak to sprawdź jakie porty są używane przez bazę danych i czy są one otwarte na routerze i Twoim komputerze. Sprawdź, czy zewnętrzny serwer bazodanowy obsługuje połączenia z innych IP (na hostingach to często jest zablokowane). Zdarza się, że konkretne porty blokuje również dostawca internetu. Czy możesz podłączyć się do tej bazy używając jakiegoś programu do obsługi baz (phpMyAdmin lub inny)?

Baza jest na zewntrz. Używają portu domyślnego 3306. W zaporze systemowej zezwoliłem na ruch na tym porcie w obie strony, a nawet wyłączałem tę zaporę i tę z Bitdefendera. Dzwoniłem do zarządcy bazy i powiedział że należy dodać mój IP w panelu serwera bo normalnie nie obsługuje połączeń z zewnątrz ale to też nie pomoło. Ale gdyby o to chodziło, to moja aplikacja łącząca się z inną bazą (z mojej uczelni) działałaby mimo wszystko (kiedyś działała). Z łączeniem się z bazą przez phpMyAdmin nie ma żadnego kłopotu. Za to przez telnet nie mogę się połączyć (też 'Connection refused').
_______
Serwlet jest zbudowany z użyciem REST i po jego uruchomieniu automatycznie sam stawia sobie serwer Apache. Uruchomiłem serwlet na tym samym komputerze ale na Ubuntu 14.04 na którym nie ma ani antywirusa, ani firewalla, i sytuacja jest ta sama.
W dodatku, kiedy na Windowsie postawiłem lokalną bazę i zmieniłem kod serwleta tak aby łączył się z tą bazą, to wszystko działało poprawnie: przeglądarka pytała serwlet, serwlet pytał bazę i przekazywał wynik zapytania do przeglądarki przez JSON.
 System operacyjny: windows_eight Przeglądarka: firefox
#4
RE: MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy
phpMyAdmin który działa jest na Twoim lokalnym serwerze w domu?
 System operacyjny: windows_seven Przeglądarka: firefox
#5
RE: MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy
Nie. phpMyAdmin jest tam gdzie baza, czyli na zdalnym serwerze FutureHost. Ale stała się rzecz dziwna: aplikacja, która łączy się z uczelnianą bazą, zaczęła działać! Nie wiem jak to się stało. Kombinowałem różne rzeczy na pececie ale nie wiem czy to ma jakiś związek. To dobry znak, ale niestety serwlet dalej nie funkcjonuje.
_________________________________________________________
EDIT:
Jednak wiem co się stało. Miałem aktywne połączenie przez VPN do sieci uczelnianej, w której jest serwer mySQL. dlatego udało się aplikacji nawiązać połączenie. Najwyraźniej tylko tak można się z tą bazą połączyć, tzn. aplikacja musi być uruchamiana w tej samej sieci co serwer SQL (a VPN na to pozwala). A co do drugiej bazy (tej od serwleta), to nasz admin dodał nasz publiczny adres do listy uprawnionych do dostępu zdalnego. Jednak mimo to połączenia nie daje się uzyskać. Widocznie muszę się ponownie skontaktować z zarządcą serwera SQL.
__________________________________________________________
EDIT2:
Naprawiony. Wysłałem maila do biura obługi klienta i okazał się że adres, który wpisuję w przeglądarkę żeby połączyć się z bazą przez phpMyAdmin nie jest taki jaki powinienem wpisać w swerlecie. Przy bazie uczelnianej oba adrey były takie same więc nie przypuszczałem że taka może być przyczyna.
 System operacyjny: windows_eight Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (MySQL - Błąd 08S01 'Connection refused' przy połączeniu z Javy)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Sad PhpMyAdmin w Mysql 8.0 Lauczi 3 15930 31.03.2020, 16:34
Ostatni post: Lauczi
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 5794 30.08.2019, 14:16
Ostatni post: Physicist
  [mysql]klucz obcy rydzu122 5 10285 20.12.2015, 22:36
Ostatni post: dzikuu86

Skocz do: