MySQL wird aufgrund eines Fehlers im Apparmor-Profil nicht aktualisiert

9

Ich habe nach dem Update einen MySQL-Fehler erhalten.

Dies ist das Protokoll.

(Leyendo la base de datos ... 559752 ficheros o directorios instalados actualmente.)
Desinstalando mysql-server ...
Configurando mysql-server-5.5 (5.5.24-0ubuntu0.12.04.1) ...
Error del analizador AppArmor para /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld en la l?nea 40: syntax error, unexpected TOK_END_OF_RULE, expecting TOK_MODE
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error al procesar mysql-server-5.5 (--configure):
 el subproceso instalado el script post-installation devolvió el código de salida de error 1
No se escribió ningún informe «apport» porque ya se ha alcanzado el valor de «MaxReports»
         Se encontraron errores al procesar:
 mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
Un paquete no se pudo instalar. Tratando de recuperarlo:
Configurando mysql-server-5.5 (5.5.24-0ubuntu0.12.04.1) ...
Error del analizador AppArmor para /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld en la l?nea 40: syntax error, unexpected TOK_END_OF_RULE, expecting TOK_MODE
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error al procesar mysql-server-5.5 (--configure):
 el subproceso instalado el script post-installation devolvió el código de salida de error 1
Se encontraron errores al procesar:
 mysql-server-5.5

Wenn jemand helfen kann. Ich habe versucht, MySQL-Server zu entfernen, und es sagt mir dies.

Se encontraron errores al procesar:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1

ADDED ENGLISH TRANSLATION TO LOG FILE:

(Reading database ... 559752 files and directories currently installed.)
Removing mysql-server ...
Setting up mysql-server-5.5 (5.5.24-0ubuntu0.12.04.1) ...
AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld in the l? Line 40: syntax error, unexpected TOK_END_OF_RULE, expecting TOK_MODE
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
  subprocess installed post-installation script returned error exit code 1
Do not write any report "dumbbell" because it has already reached the value of "MaxReports»
          Errors were encountered while processing:
  mysql-server-5.5
E: Sub-process /usr/bin/dpkg Returned an error code (1)
A package failed to install. Trying to recover:
Setting up mysql-server-5.5 (5.5.24-0ubuntu0.12.04.1) ...
AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld in the l? Line 40: syntax error, unexpected TOK_END_OF_RULE, expecting TOK_MODE
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
  subprocess installed post-installation script returned error exit code 1
Errors were encountered while processing:
  mysql-server-5.5
Diego
quelle
Diesmal wurde eine Übersetzung ins Englische hinzugefügt. Versuchen Sie, in Zukunft eine englische Version zu platzieren, da dies mehr Antworten hervorruft. Sie können sie mit Google Translate übersetzen.
exIT Solutions

Antworten:

13

Es scheint, dass Sie einen Fehler in Ihrem Apparmor-Profil für MySQL haben. Während Sie das Problem beheben, können Sie das Apparmor-Profil für MySQL deaktivieren. MySQL sollte funktionieren:

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/usr.sbin.mysqld

und starten Sie apparmor neu mit: sudo /etc/init.d/apparmor restart

Wenn Sie das MySQL-Apparmor-Profil repariert haben, können Sie den Symlink entfernen und Apparmor neu starten.

UPDATE2:

Neue Schritte zum Entfernen und erneuten Installieren von MySQL:

sudo apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5
sudo apt-get autoremove
sudo apt-get autoclean

sudo rm -rf /etc/mysql

sudo apt-get install mysql-server mysql-common mysql-client

(sollte nach einem neuen Administratorkennwort fragen)

Überprüfen Sie, ob es funktioniert:

sudo service mysql status

Wenn es nicht funktioniert, überprüfen Sie, ob Sie eine Datei haben /etc/mysql/my.cnf. Wenn nicht, kopieren Sie es von der Standardversion und starten Sie mysql neu:

sudo cp /etc/mysql/my.cnf.dpkg-dist /etc/mysql/my.cnf
Laurent
quelle
Es hat nicht funktioniert. Wenn ich MySQL starte, erhalte ich den nächsten Fehler. Paste.ubuntu.com/1147496 Start MySQL Start: Abgelehnte Sende-Nachricht, 1 übereinstimmende Regeln; type = "method_call", sender = ": 1.93" (uid = 1000 pid = 32188 comm = "start mysql") interface = "com.ubuntu.Upstart0_6.Job" member = "Start" error name = "(unset)" request_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")
Diego
Sie müssen MySQL mit starten sudo start mysql. Der Fehler, den Sie erhalten, ist der gleiche wie beim Versuch, MySQL ohne Sudo zu starten (Benutzer-ID = 1000 in der Fehlermeldung).
Laurent
Es gibt mir immer noch einen Fehler. paste.ubuntu.com/1147618
Diego
Wenn MySQL korrekt installiert / konfiguriert wurde, sollte es jetzt gestartet sein. Ich würde versuchen, MySQL zu entfernen / neu zu installieren, da Ihr erster Fehler während der MySQL-Installation aufgetreten ist und es wahrscheinlich nicht richtig installiert oder konfiguriert wurde, da es in der Mitte gestoppt wurde, weil Apparmor nicht zulässt, dass es irgendwo schreibt.
Laurent
1
Gut! :) - MySQL ist nicht die einfachste Neuinstallation nach einer fehlgeschlagenen Installation ...
Laurent
0

Ich glaube, es hängt mit diesen Problemen zusammen: https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/375371 https://bugs.launchpad.net/ubuntu/+source/mysql -dfsg-5.0 / + bug / 227615

Ich musste den Speicherort des von mysql verwendeten tmp-Verzeichnisses ändern:

Bearbeiten Sie /etc/mysql/my.cnf

Veränderung:

tmpdir      = /tmp

Zu:

tmpdir      = /var/tmp/mysql

Stellen Sie sicher, dass Sie dieses Verzeichnis erstellen und die Berechtigungen entsprechend festlegen:

sudo mkdir -m 0770 /var/tmp/mysql
sudo chown mysql:mysql /var/tmp/mysql

Dann können Sie eine Neuinstallation versuchen und es sollte funktionieren (war in Ordnung für mich):

sudo apt-get install -f
RKelln
quelle