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

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.