mysql nie aktualizuje się z powodu błędu w profilu Apparmor

9

Po aktualizacji zaktualizowałem błąd mysql.

To jest dziennik.

(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

Jeśli ktoś może pomóc. Próbuję usunąć serwer mysql i to mi mówi.

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

DODANO ANGIELSKIE TŁUMACZENIE DO PLIKU DZIENNIKA:

(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
źródło
Tym razem dodano tłumaczenie na angielski. Spróbuj umieścić wersję angielską w przyszłości, ponieważ przyciągnie ona więcej odpowiedzi. Możesz je przetłumaczyć za pomocą Tłumacza Google translate.google.com/#auto/en
exIT Solutions

Odpowiedzi:

13

Wygląda na to, że masz błąd w profilu Apparmor dla mysql. Podczas naprawy możesz wyłączyć profil Apparmor dla mysql i mysql powinien działać:

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

i ponownie uruchom apparmor za pomocą: sudo /etc/init.d/apparmor restart

Po naprawieniu profilu Appysor mysql możesz usunąć dowiązanie symboliczne i ponownie uruchomić apparmor.

AKTUALIZACJA 2:

Nowe kroki, aby usunąć i ponownie zainstalować 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

(powinien poprosić o nowe hasło administratora)

Sprawdź, czy to działa:

sudo service mysql status

Jeśli to nie działa, sprawdź, czy masz plik /etc/mysql/my.cnf. Jeśli nie, skopiuj go z domyślnego i uruchom ponownie mysql:

sudo cp /etc/mysql/my.cnf.dpkg-dist /etc/mysql/my.cnf
Laurent
źródło
Nie zadziałało. Kiedy zaczynam mysql, pojawia się następny błąd paste.ubuntu.com/1147496 start mysql start: Odrzucona wiadomość, 1 dopasowane reguły; type = "method_call", sender = ": 1.93" (uid = 1000 pid = 32188 comm = "start mysql") interface = "com.ubuntu.Upstart0_6.Job" member = "Start" nazwa błędu = "(nieustawiony)" request_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")
Diego
musisz zacząć od mysql sudo start mysql. Otrzymany błąd jest taki sam, jak przy próbie uruchomienia mysql bez sudo (identyfikator użytkownika = 1000 w komunikacie o błędzie).
laurent
Nadal daje mi błąd. paste.ubuntu.com/1147618
Diego
Jeśli mysql został poprawnie zainstalowany / skonfigurowany, powinien był zacząć teraz. Spróbowałbym usunąć / ponownie zainstalować mysql, ponieważ twój pierwszy błąd wystąpił podczas instalacji mysql i prawdopodobnie nie jest on zainstalowany lub skonfigurowany poprawnie, ponieważ zatrzymał się w środku z powodu apparmor, który nie pozwalał mu gdzieś pisać.
laurent
1
Dobrze! :) - mysql nie jest najłatwiejszym do ponownego zainstalowania po nieudanej instalacji ...
laurent
0

Uważam, że ma to związek z tymi problemami: https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/375371 https://bugs.launchpad.net/ubuntu/+source/mysql -dfsg-5.0 / + bug / 227615

Musiałem zmienić lokalizację katalogu tmp, którego używał mysql:

Edytuj /etc/mysql/my.cnf

Zmiana:

tmpdir      = /tmp

Do:

tmpdir      = /var/tmp/mysql

I upewnij się, że utworzyłeś ten katalog i odpowiednio ustawiłeś uprawnienia:

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

Następnie możesz spróbować zainstalować ponownie i powinno to działać (było dla mnie w porządku):

sudo apt-get install -f
RKelln
źródło