Communications link failure due to underlying exception

Status
Nicht offen für weitere Antworten.

6aholic

Mitglied
guten tag,


leider habe ich ein problem mit einer mysql- verbindung seitdem ich den linux server geupdatet habe...
mittlerweile hab ich mehrere ansätze gefunden, allerdings keiner funktionierte.

hier die fehlerausgabe:

connectToDatabase:com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:151)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1699)
at com.mysql.jdbc.Connection.<init>(Connection.java:405)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:268)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at server.Server.connectToDatabase(Server.java:58)
at server.Server.<init>(Server.java:39)
at server.Server.main(Server.java:857)


** END NESTED EXCEPTION **


ich hab leider keine ahnung mehr was dies sein könnte und wie man das beheben kann.

danke für die hilfe.

so far.
6aholic.
 

Bleiglanz

Gesperrter Benutzer
leider habe ich ein problem mit einer mysql- verbindung seitdem ich den linux server geupdatet habe...

wie was wo geupdated?

=> funzt Benutzername Kennwort auch noch an der Konsole?

=> läuft der mysqld überhaupt

=> wurde die Benutzerdatenbank verändert, GRANTS, usw.??
 

6aholic

Mitglied
danke für dein interesse an meinem problem! :)

geupdated habe ich das linux an sich.

dabei natürlich auch die datenbank neu eingerichtet.
ja, der task läuft. ja die rechte sind richtig eingestellt und das java- script zur verbindung sieht wie folgt aus:

Code:
private Connection connectToDatabase(String DB_name)
	{
		try
		{
// hier wurde auch der ip- stack auf v4 gesetzt....
		  String DRIVER = "com.mysql.jdbc.Driver";
		  String JDBC_URL = "jdbc:mysql://localhost:3306/";

		  Class.forName( DRIVER );
		  return DriverManager.getConnection( JDBC_URL + DB_name, "username", "password" );
		}
		catch( SQLException sqle )
		{
			System.out.println("connectToDatabase:" + sqle);
			return null;
		}
		catch ( ClassNotFoundException cnfe )
		{
			System.out.println("connectToDatabase:" + cnfe);
			return null;
		}
	}


ich danke!

so far.
6aholic.
 

Bleiglanz

Gesperrter Benutzer
also dann nochmal

welches Linux?

von wo nach wo upgedated??

wurde mysql upgedated??

kannst du an der Konsole mit $mysql -u meinusername -p noch Verbindung aufnehmen

wurde versehentliche eine my.cnf überschrieben?? dort musst du unter Umständen einen Eintrag skip-networking auskommentieren

$mysqlcheck --all-databases -u meinusername -p

ausgeführt? alles OK??

$mysqlcheck --auto-repair --all-databases -u meinusername -p
 

6aholic

Mitglied
das ganze system wurde von einer 8er version suse auf 9.1 suse geupdated und dabei komplett formatiert.

da wurde dann sicher auch die aktuelle stable version von mysql genommen.
aktuell ist es eine: MySQL 4.0.18

wie gesagt, ja die verbindungen gehen.
von konsole & von php.

die my.cnf wurde mit sicherheit gelöscht und neu angelegt.
das mit dem skip networking sowie einer ipv- stack komplikation habe ich schon gehört.
ich werde den eintrag mal skippen, sobald ich mit meiner arbeit fertig bin.

check sowie die repairs machte ich mit phpmyadmin, alles roger.

die db läuft, java bzw. der treiber oder irgendwas dazwischen ist das problem :-/

vielen dank!

so far.
6aholic.
 

Bleiglanz

Gesperrter Benutzer
nein, das Problem ist, dass nichtmal ein Socket erstellt werden kann?

geh zur my.cnf und mach ein # vor das skip-networking :)
 

6aholic

Mitglied
ich danke dir, lieber bleiglanz, sehr vielvielmals :)

es funktionierte auf anhieb :)

nun würd ich noch gern wissen, woher du aus den verworrenen stacktrace genau auf diesen fehler schließen konntest und was das skip-networking ist...

so far.
6aholic.
 

6aholic

Mitglied
ich muss leider ein bisschen was zurück nehmen.

anfangs dachte ich es geht 100%ig.

connectToDatabase:java.sql.SQLException: Access denied for user: 'user@localhost.localdomain' (Using password: YES)

passwort und benutzername richtig eingetragen, neu kompiliert, gestartet und das problem exsistiert immer noch.
trotz richtigen eingaben von username / password bekomme ich ein access denied...

was mich wundert ist: @localhost.localdomain

ich versuchte es mit dem setproperties auf ipv4, nem 127.0.0.1....

einträge der /etc/hosts sehen recht normal aus...

;(

so far.
6aholic.
 

Bleiglanz

Gesperrter Benutzer
ganz einfach:

die erste Zeile im Stacktrace java.net.SocketException sagt dass keine Verbindung aufgebaut werden konnte

und das "skip-networking Problem" hab ich selber schon mal gehabt
 

Bleiglanz

Gesperrter Benutzer
und zum neuen Problem:

du hast wahrscheinlich das GRANT für user@localhost gemacht

und in /etc/hosts steht jetzt nach dem update localhost.localdomain

entweder neu GRANT en oder die /etc/hosts ändern

oder (SEHR unsicher) ein GRANT für user@%
 

6aholic

Mitglied
ja, in der hosts steht:
127.0.0.1 localhost.localdomain localhost

wenn ich daraus jetzt
127.0.0.1 localhost localhost.localdomain

mache sollte es gehen, oder?

wie aktiviere ich dann die neue hosts? reboot?

so far.
6aholic.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben