Ubuntu + Update + Neustart = SSH not starting + MySQL down

Veröffentlicht: 15. Mai 2011 in Sonstiges, Web
Schlagwörter:, , , , ,

In diesem Semester belege ich die Vorlesung „Aktuelle Themen der Software-Architekturen für Digitale Medien“ und habe dort vor zwei Wochen ein Mini-Projekt gestartet (der Titel der Vorlesung ist lang und hat nicht viel mit dem Inhalt zu tun, es handelt sich hierbei nur um einen Container😉 ).

Für mein Mini-Projekt beziehe ich jeden Tag tausende von Daten von der Youtube API, die ich zuerst in meiner Datenbank (MySQL Server Version 5.1.41) abspeichere und zu einem späteren Zeitpunkt auswerte.

Mein Server wird in unserem Hochschulrechenzentrum gehostet als VM. Das eigentliche Problem hat sich am Donnerstag ereignet als die Admins ein Update des VM-Servers gemacht haben. Meine VM hat darauf einen Neustart gemacht (das ist ja auch irgendwo noch sinnvoll). Weniger lustig fand ich, dass SSH nicht im Autostart eingetragen war, wodurch ich keinen Zugriff mehr hatte. Einer der Admins konnte jedoch SSH wieder manuell für mich starten.

Autostart SSH

Um zukünftig dieses Problem zu vermeiden, musste ich SSH in den Autostart packen. Dazu habe ich im Ordner /etc/ssh/ die Datei sshstart.sh angelegt und per chmod +x sshstart.sh Ausführungsrechte gegeben. In die Datei habe ich folgendes geschrieben:

#!/bin/sh
sudo /etc/init.d/ssh start

Um das Skript bei einem Neustart auszuführen, musste es noch in die Autostartliste aufgenommen werden. Dazu habe ich in /etc/rc2.d/ einen symbolischen Link auf die Datei /etc/ssh/sshstart.sh gesetzt. Damit sollte das erste Problem gelöst sein.

MySQL Server

Das zweite weit aus größere Problem war mein MySQL Server. Dieser ließ sich nicht mehr starten. Beim Ausführen von sudo /etc/init.d/mysql start ist der Befehl in einer Endlosschleife hängen geblieben. In der Logdatei /var/log/mysql/error.log stand folgendes:

110513 19:56:52  InnoDB: Started; log sequence number 0 2152775231
110513 19:56:52 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
110513 19:56:52 [ERROR] Do you already have another mysqld server running on port: 3306 ?
110513 19:56:52 [ERROR] Aborting
110513 19:56:52  InnoDB: Starting shutdown...
110513 19:56:53  InnoDB: Shutdown completed; log sequence number 0 2152775231

Laut dieser Nachricht muss ein anderer Dienst den Standard-Port 3306 belegen. Mit Hilfe von netstat -tlnp können alle belegten Programm Adresse Port Belegungen dargestellt werden. Bei wir tauchte dort jedoch kein Eintrag mit einem Port 3306 auf …

Weitere Nachforschungen ergaben, dass es Probleme mit meinem Netzwerk-Adapter geben könnte. Bei der Eingabe von ifconig stellte sich heraus, dass der local loopback Adapter nicht geladen war. ifconfig lo up hat das Problem jedoch schnell gelöst.

Nach einem weiterer Versuch den MySQL Server zu starten habe ich jedoch wieder den gleichen Fehler bekommen. Darauf habe ich den Port von 3306 auf 3305 in der Datei /etc/mysql/my.cnf geändert und den Server gestartet. Siehe da der Server läuft. Interessanter weise läuft der Server laut netstat -tlnp nicht auf Port 3305 sondern auf 3306!? Das ist alles andere als logisch, weshalb ich den Port in der my.cnf Datei wieder zurück auf 3306 geändert habe und siehe da, der Server läuft immer noch.

In meinen Augen ist das ein sehr komisches Problem und die Problemlösung ist nicht gerade logisch. Da mein Server jetzt wieder läuft und meine ~200.000 Daten nicht verloren sind, stört mich das nicht weiter🙂

Cheers

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s