Problem z połączeniem do bazy danych

0

Hejka, mam poniższy program:


import java.sql.DriverManager;

public class Test {
	public static void main(String[] args) throws Exception {
	    // Load the JDBC driver
	    String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
	    Class.forName(driverName);
	    DriverManager.registerDriver(new com.mysql.jdbc.Driver());
	    // Create a connection to the database
	    String serverName = "localhost";
	    String mydatabase = "test";
	    String url = "jdbc:mysql://" + serverName +  "/" + mydatabase; // a JDBC url
	    String username = "mhzmark";
	    String password = "polska";
	    DriverManager.getConnection(url, username, password);
	    System.out.println("OK");
    }
}

Po jego uruchominiu: java -classpath mysql-connector-java-5.1.5-bin.jar:. Test
Mam nastepujące bledy:

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Last packet sent to the server was 0 ms ago.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2104)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:729)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at Test.main(Test.java:15)
Caused by: java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:518)
        at java.net.Socket.connect(Socket.java:468)
        at java.net.Socket.<init>(Socket.java:365)
        at java.net.Socket.<init>(Socket.java:208)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2027)
        ... 12 more

To co próbowałem zrobić:

  • próbowałem połączyć sie do bazy kolegi, zmieniają parametr serverName. Test zakończył się powodzeniem

Inne informacje:

  • mój OS to linux
  • wyłączyłem firewall
0

Sprawdź czy serwer MySQL działa, czy podawany jest prawidłowy adres (prawidłowy co do kropki), czy serwer działa n adomyślnym porcie 3306. Kod jest dobry.

0

a jestes pewien ze masz wlaczony server? albo laczysz sie uzywajac odpowiednich danych (localhost + odpowiedni port)?

0

Mysqld działa:

[mhzmark@mhzmark Connection]# ps -al | grep mysqld
0 S     0  8594     1  0  85   0 -   774 wait   pts/1    00:00:00 mysqld_safe
4 S    89  8619  8594  0  78   0 - 31420 429496 pts/1    00:00:00 mysqld
[mhzmark@mhzmark patryk]$ telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
Connection closed by foreign host.
[mhzmark@mhzmark patryk]$ 

Działa mi też np. phpAdmin.

Więc z mysql jest chyba wszystko ok ?

Ma ktoś pomysł co i jak jeszcze można przetestować ?

0

A daj URL w postaci:
"jdbc:mysql://localhost:3306/mysql";

0

Niestety, nadal nie działa :(

0

Działa mi. Zmieniłem kilka róznych rzeczy, ale wydaje mi się że kluczowym elementem było wyjebanie z pliku my.cnf wpisu:

skip-networking

(jesli ten wpis umieszcze z powrotem to mam ten sam problem)

Dziękuje za szybkie odpowiedzi i zainteresowanie.

0

@TTomek, nie przeklinaj.

↓inny ktoś, przypominam że forum czytają też osoby niepełnoletnie.

0

mason! przeklina! łaaaaaaa!
a o. rydzyk mowil ze polska pod wplywem szatana

1 użytkowników online, w tym zalogowanych: 0, gości: 1