MySQL-Server
Aus Programmers Guide
Inhaltsverzeichnis |
Der heutige 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.
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.