Die MySQL-Datenbank ist seit einigen Monaten problemlos. Als ich heute mit dem Synaptic Package Manager nach aktualisierbaren Paketen suchte, kamen die verschiedenen MySQL-Komponenten (-common, -client, -server usw.) auf. Ich entschied mich daher für ein Upgrade (ich habe vergessen, die installierte Version zu notieren, glaube aber, dass es 5.6.21 war) auf 5.6.25-1-ubuntu2.0. Als ich anschließend die Datenbank abfragte, erhielt ich die folgende Meldung:
Error occured: Can't connect to MySQL server on '127.0.0.1' (111)
Ich fand dann, dass der Server nicht lief. In der Protokolldatei finde ich es gut, dass die Nachricht: -
Can't create file /var/lib/mysql/user.lower-test
Ich habe ungefähr eine Stunde online gesucht und obwohl das Problem bereits gemeldet wurde, habe ich es nicht im Zusammenhang mit einem Problem nach dem Update gesehen, bei dem ich mir über meinen nächsten Schritt nicht sicher bin.
apparmor
bei der Installation automatisch installiert und aktiviertmysql-server-5.6
. Auch wenn Sie es zuvor deaktiviert haben. Sie können dasapparmor
Paket nicht entfernen , da es eine Abhängigkeit von istmysql-server-5.6
. Sie können den Fehler "Datei /var/lib/mysql/user.lower-test kann nicht erstellt werden" beheben, indem Sieservice apparmor stop; service apparmor teardown; update-rc.d -f apparmor remove
Ich bin auf dieses Problem gestoßen, als ich versucht habe, mehrere Instanzen von MySQL auszuführen, aber anstatt Apparmor zu entfernen, habe ich die Datei usr.sbin.mysqld aktualisiert:
So sieht beispielsweise meine Datei aus, und nachdem ich die Ordner hinzugefügt habe, für die Schreibberechtigungen erforderlich sind, funktionierten alle ordnungsgemäß.
quelle
Das Problem ist mir passiert, als ich versucht habe, / var / lib / mysql auf eine andere Festplatte zu verschieben und das ursprüngliche Verzeichnis durch einen Symlink zu ersetzen.
Apparmor verweigert den Zugriff in dieser Konfiguration siehe
Warum dies von den Apparmor-Entwicklern nicht als Fehler angesehen wird. Die Problemumgehung besteht darin, ein Bind-Mount zu verwenden. Sehen
für eine Erklärung.
So
Das Problem wurde für mich behoben.
quelle
Ich hatte ein ähnliches Problem. Ich habe Ubuntu Server auf meinem Computer neu installiert, eine vollständige Sicherung von / etc / auf einer Festplatte erstellt und nach der Neuinstallation eine Kopie aller wichtigen Dateien von / drive / etc / auf meine Systeme / etc. Erstellt.
Dabei habe ich ein Bak für die Datei usr.sbin.mysqld mit dem Namen usr.sbin.mysqld.bak erstellt und im selben Verzeichnis /etc/apparmor.d/ gespeichert.
Bei weiterer Suche fand ich diesen Blog-Beitrag: https://blogs.oracle.com/jsmyth/apparmor-and-mysql
Apparmor-utils installiert und versucht, sich auf / usr / sbin / mysqld zu beschweren, und es wurde angegeben, dass ich 2 Apparmor-Konfigurationen definiert habe (beide meiner Dateien).
Ich weiß, dass es möglicherweise nicht das Problem ist, mit dem Sie konfrontiert sind, aber aus Gründen der Klarheit sollten Sie nicht so dumm sein wie ich und eine Sicherungsdatei im selben Verzeichnis wie das Verzeichnis apparmor sbin erstellen.
quelle
Überprüfen Sie auch, ob Ihre Partition nicht voll ist, was mein Fall war.
Aus einem unbekannten Grund funktionierte das Verschieben der Daten auf eine andere Partition ebenfalls nicht.
Für eine schnelle Lösung habe ich meine
/swapfile
Größe reduziert, anstatt mich mit llvm oder gparted herumzuschlagen .quelle