
Ich versuche, mysql-server-5.7 auf Kubuntu 16.04 zu installieren, aber ich habe Probleme.
sudo apt install mysql-server
gibt die folgende Ausgabe aus.
Setting up mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
Renaming removed key_buffer and myisam-recover options (if present)
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since ons 2017-05-17 09:48:39 CEST; 10ms ago
Process: 13622 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 13621 ExecStart=/usr/sbin/mysqld (code=exited, status=2)
Process: 13612 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 13621 (code=exited, status=2)
maj 17 09:48:39 anis systemd[1]: Failed to start MySQL Community Server.
maj 17 09:48:39 anis systemd[1]: mysql.service: Unit entered failed state.
maj 17 09:48:39 anis systemd[1]: mysql.service: Failed with result 'exit-code'.
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.7; however:
Package mysql-server-5.7 is not configured yet.
dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Und wenn ich versuche, das Problem durch Ausführen zu beheben, journalctl -xe
erhalte ich eine Ausgabe wie die folgende, die darauf hindeutet, dass AppArmor mir Probleme bereitet.
maj 17 09:53:14 anis systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mysql.service has begun starting up.
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=0
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:240): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:241): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=0
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:242): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/task/14767/mem" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.658:243): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/task/14767/mem" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124
maj 17 09:53:14 anis systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Wie kann ich dieses Problem lösen?
Antwort1
Sie müssen Ihre Apparmor-Konfiguration bearbeiten, damit MySQL auf diese Dateien zugreifen kann. Die Protokollmeldungen sagen Ihnen, dass /usr/sbin/mysqld
Lesezugriff ( r
) zum Öffnen von /proc/14767/status
( /sys/devices/system/node/
nachgestellter Schrägstrich, da das Verzeichnis gelesen werden soll) und erforderlich /proc/14767/task/14767/mem
ist. Die zu bearbeitende Datei ist /etc/apparmor.d/usr.sbin.mysqld
.
In meinem Fall habe ich das Problem gelöst, indem ich diese Zeilen irgendwo in der Mitte hinzugefügt habe (mit jeweils zwei Leerzeichen davor):
/proc/*/status r,
/sys/devices/system/node/ r,
/sys/devices/system/node/node0/meminfo r,
(Beachten Sie den abschließenden Schrägstrich für die zweite Zeile.)
Versuchen Sie anschließend, MySQL zu starten. Wenn weitere Fehler auftreten, fügen Sie auch diese Dateien hinzu und versuchen Sie es erneut.
Hierist eine Antwort, die ich an anderer Stelle zu diesem Problem gegeben habe.
Antwort2
Es kann Folgendes sein: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739846 Versuchen Sie es also mit
echo "exit 0" >> /etc/init.d/mysql
dpkg --configure -a
wenn das nicht hilft, verwenden Sie:
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-5.5
sudo apt-get install mysql-server
um Ihr MySQL vollständig zu entfernen und neu zu installieren. Warnung: Wenn Sie Datenbanken haben, werden diese entfernt.
Antwort3
Ich habe dieses Problem wie folgt gelöst:
Bearbeiten/etc/apparmor.d/local/usr.sbin.mysqld
Fügen Sie die folgenden Zeilen hinzu:
/data/ r,
/data/** rwk,
Apparmor-Dienst neu laden
sudo service apparmor reload
Antwort4
Beim Versuch, mysql-server-5.7 auf Ubuntu 16.04 zu installieren, nachdem ich die obigen Antworten verwendet hatte, funktionierte Folgendes:
- Laufen
sudo apt install mysql-server
- Überprüfen Sie den genauen obigen Fehler
- Neustart
- Führen Sie
sudo apt install mysql-server
die Installation erneut aus, um sie fortzusetzen
Installation abgeschlossen.