Den heutigen Morgen habe ich mir ehrlich anders vorgestellt. Auf dem Plan stand das Distributionsupgrade eines unserer Ubuntu Server. Dabei sollte die Distribution mittels sudo do-release-upgrade
auf die Version 12.04.1 LTS aktualisiert werden.
Das Upgrade lief auch ohne Fehlermeldungen durch und ich vermledete nach erfolgtem Neustart Vollzug. Allerdings meldete sich kurz darauf ein Entwickler bei mir und teilte mir mit, dass der MySQL-Server nicht läuft. Die Fehlermeldung, bei der wir starteten lautete:
stop: Unknown instance:
start: Job failed to start
Auf der Suche nach der Problemursache und einer möglichen Lösung stießen meine Kollegen und ich auf folgende Beiträte, die unser Problem genau beschrieben. Von den beschriebenen Lösungen funktionierte jedoch keine einzige.
- Ubuntu mysql cannot start after upgrade
- MySQL fails to start after upgrade to 12.04
- Getting mySQL server back on Ubuntu 12.04
- mysql server will not start
- mysql-server postrm breaks apparmor profile for later versions on purge
- mysql-server failed to start after daily upgrade, reinstalling does not help
- Can’t create IP socket: Permission denied
Was wir bestätigen konnten war, dass es irgendwie mit Apparmor zusammen hängt. Die konnten wir den verschiedenen Logdateien entnehmen. Verschiedene Versuche die Datei /etc/apparmor.d/usr.sbin.mysqld
anzupassen waren nicht von Erfolg gekrönt. Zwar konnten wir einige Fehlermeldungen beseitigen, jedoch wollte es uns nicht gelingen, dass MySQL ein IP Socket anlegen durfte.
Und jetzt kommt endlich die gute Nachricht. Wir haben das Problem in den Griff bekommen. Auf dem betroffenen Server wurde das Paket apparmor-utils
nachinstalliert. Mit dem Befehl aa-complain /etc/apparmor.d/usr.sbin.mysqld
haben wir den AppArmor Modus für das MySQL-Profil von enforce auf complain geändert.
AppArmor meldet zwar weiterhin einen Regelverstoß, jedoch blockiert es den MySQL-Server nicht weiter. Der Dienst startet und der Server ist wieder up-and-running. Daher bleibt dieses AppArmor-Profil im complain-Modus, bis der Bug endgültig behoben ist.
Danke an meine hilfsbereiten Kollegen, ohne die das Troubleshooting sicher noch wesentlich länger gedauert hätte.
Schreiben Sie einen Kommentar