MySQL-Verbindung ausschließlich zu localhost möglich

  • Themenstarter Themenstarter berni78
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

berni78

Gast
Hallo,

nach Tagen habe ich endlich das Problem mit dem MySQL-Treiber gelöst.
Ich habe den MySQL-Connector aus dem Netz geladen und das Jar-Archiv mit Eclipse importiert.

Die Zugangsdaten binde ich wie folgt ein:
Code:
private final static String driver = "com.mysql.jdbc.Driver";
private final static String url = "jdbc:mysql://localhost/datenbankname";
private final static String user = "username";
private final static String password = "userpassword"

Die Verbindung zur Datenbank baue ich folgendermaßen auf:
Code:
public static Connection connect () {
		Connection con = null;
		try {
			Class.forName(driver);
			con = DriverManager.getConnection(url, user, password);
			
		} catch (ClassNotFoundException e) {
			System.out.println("Datenbanktreiber \""+driver+"\" konnte nicht geladen werden.");
		} catch (SQLException e) {
			System.out.println("Verbindung zur Datenbank \""+url+"\" konnte nicht aufgebaut werden.");
			e.printStackTrace();
		}
		return con;
	}

Das funktioniert soweit.

Da ich meine Java-Applikation aber auf einem anderen Rechner im Netzwerk installieren möchte, verwende ich:
Code:
private final static String url = "jdbc:mysql://server.heimnetzwerk.de/datenbankname";

Nun bekomme ich diese Fehlermeldung:
Code:
Verbindung zur Datenbank "jdbc:mysql://server.heimnetzwerk.de/datenbankname" konnte nicht aufgebaut werden.
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection refused

STACKTRACE:

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:271)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2744)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        
** END NESTED EXCEPTION **

Last packet sent to the server was 0 ms ago.
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2820)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)

Woran kann es liegen?
 
Wie mach ich das? :?:
Bei phpmyadmin habe ich keine Funktion gefunden mit der sowas möglich wäre.
Wenn ich bei den Rechten "GRAND" setzen funktioniert es jedenfalls nicht.
Kannst du mir einen Tip geben, wie ich das machen kann?
 
In der "users" Table: In der Spalte "host" darf nicht localhost sondern muss ein "%" stehen.

Gruß

Mike

Edit: Und falls das alleine nicht genügt: Schau mal an welche IP sich MySQL bindet (in der my.cnf). Manchmal steht da per default "127.0.0.1" oder "localhost" drin. Dann ändere das zu seiner Netz-IP (z.B. 192.168.0.1 - halt die IP des Rechners).
 
Achso, dass war gemeint :roll:
Das hatte ich bei der Erstellung der Datenbank schon längst gemacht.

Habe auch wegen des Problems schon Yahoo abgefragt :### , aber nichts passendes gefunden.
 
Das eintragen der IP in der my.cnf half nichts. Dafür aber der ausgeschriebene Domainname.
Danke. 😀
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben