MySQL-Server

Aus Programmers Guide

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Der heutige Java-MySQL Fehler (09-11-2010)

Der Hergang

Ich benutze den Java jdbc Treiber um meinen MySQL-Server aus dem Java heraus erreichen zu können.

Der Server läuft auf einem Ubuntu (Linux www 2.6.28-19-server #66-Ubuntu SMP Sat Oct 16 18:41:24 UTC 2010 i686 GNU/)

try{
	Class.forName("com.mysql.jdbc.Driver").newInstance();
	Connection conn = DriverManager.getConnection(url + dbName, userName, password);
	//url is jdbc:mysql://192.168.xxx.xxx:3306/
}catch(SQLException sqlex){
	sqlex.printStackTrace();	
}

Der Fehler


das JAVA-Programm bleibt einfach ohne jegliche Ausgabe hängen.

Das Herantasten

Nur ein Funktionsweise einfügen der Zeile:
	System.out.println("Stelle xyz : okay");
	...
	...
	System.out.println("Stelle xyz : okay");

konnte mich dem Fehler näher bringen, bis die fehlerhafte Zeile feststand:

	System.out.println("Stelle vor Drivermanager");
	conn = DriverManager.getConnection(url + dbName, userName, password);
	System.out.println("Stelle nach Drivermanager");

Die letzte Ausgabe auf der Kommandozeile war: Stelle vor Drivermanager

Der Versuch

Die clevere Idee, ich wollte eine Exception vom DriverManager erzwingen, also wandelte ich die Stelle folgendermaßen ab:

	try{
		conn = DriverManager.getConnection(url + dbName, userName, password);
	}catch(SQLException sqlex){
		sqlex.printStackTrace();	
	}

...nix

Die Überlegungen

Der Fehler tritt erst seit gestern Nachmittag auf...was habe ich seit gestern vormittag am System verändert...

  • Firewall ... nein
  • Softwareinstallation ... ja ... relevant ... nein
  • Routen ... nein
  • Netzwerkinfrastruktur ... nein
  • läuft der MySQL-Server ... ja
  • ist er erreichbar ... ja, die Weboberfläche läuft einwandfrei alle Datenbankanfragen werden ordnungsgemäß beantwortet
  • ist sonst etwas mit dem MySQL-Server ... ausführen des mysqltuner ... alles okay
  • sind Datenbanken beschädigt oder gelöscht ... nein


... nun ist guter Rat teuer.

Der Einfall

oh, da war doch gestern eine Stromschwankung, welche aber nicht zum Neustart des Systems geführt hat.

Um nicht das ganze System zu belasten versuchte ich erstmal den Neustart des Datenbankservers:
sudo service mysql restart

erfolglos, das mysql-startup-script hängt sich auf ... also alles killen und den Neustart versuchen:

sudo killall mysql 
sudo service mysql start

[fail]

okay, dann hilft nur noch das neustarten des kompletten Servers:

sudo reboot now

und sieh an, der Fehler ist behoben.

Fazit

Die Stromschwankung von gestern führte wohl dazu, dass der MySQL-Datenbankserver nicht mehr ordnungsgemäß funktionierte.

Der Fehler trat nur beim direkten Zugriff zum Server, nicht aber beim Zugriff über PHP auf.

Der Fehler konnte ordnungsgemäß nach 2 Stunden "Sucharbeit und Fehlereingrenzung" behoben werden.

Persönliche Werkzeuge