O mysql não atualiza devido a erro no perfil do apparmor

9

Eu recebi um erro do mysql após a atualização.

Este é o log.

(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

Se alguém puder ajudar. Eu tentei remover o servidor mysql e isso me diz isso.

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

TRADUÇÃO INGLESA ADICIONADA AO ARQUIVO DE LOG:

(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
fonte
Adicionada uma tradução para inglês desta vez. Tente colocar uma versão em inglês no futuro, pois atrairá mais respostas. Você pode traduzi-los usando o Google Tradutor translate.google.com/#auto/en
exIT Solutions

Respostas:

13

Parece que você tem um erro no seu perfil do apparmor para mysql. Enquanto o corrige, você pode desativar o perfil do apparmor para o mysql e o mysql deve funcionar:

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

e reinicie o apparmor com: sudo /etc/init.d/apparmor restart

Quando você tiver o perfil do mysql apparmor fixo, poderá remover o link simbólico e reiniciar o apparmor.

UPDATE2:

Novas etapas para remover e reinstalar o 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

(deve solicitar uma nova senha de administrador)

Verifique se funciona:

sudo service mysql status

Se não funcionar, verifique se você possui um arquivo /etc/mysql/my.cnf. Caso contrário, copie-o do padrão e reinicie o mysql:

sudo cp /etc/mysql/my.cnf.dpkg-dist /etc/mysql/my.cnf
Laurent
fonte
Não funcionou.Quando inicio o mysql, recebo o próximo erro paste.ubuntu.com/1147496 start mysql start: Rejeitado, envie mensagem, 1 regras correspondentes; type = "method_call", remetente = ": 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 Diego
você precisa iniciar o mysql sudo start mysql. O erro que você está recebendo é o mesmo de quando você tenta iniciar o mysql sem o sudo (id do usuário = 1000 na mensagem de erro).
laurent
Ainda me dá um erro. paste.ubuntu.com/1147618
Diego
Se o mysql foi instalado / configurado corretamente, ele deveria ter começado agora. Eu tentaria remover / reinstalar o mysql como seu primeiro erro ocorreu durante a instalação do mysql e provavelmente não está instalado ou configurado corretamente porque parou no meio devido ao apparmor não permitir que ele escrevesse em algum lugar.
laurent
1
Boa! :) - mysql não é o mais fácil de reinstalar após uma falha na instalação ...
laurent
0

Acredito que esteja relacionado a esses problemas: https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/375371 https://bugs.launchpad.net/ubuntu/+source/mysql -dfsg-5.0 / + bug / 227615

Eu tive que mudar a localização do diretório tmp que o mysql estava usando:

Edite /etc/mysql/my.cnf

Mudança:

tmpdir      = /tmp

Para:

tmpdir      = /var/tmp/mysql

E certifique-se de criar esse diretório e definir as permissões adequadamente:

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

Então você pode tentar uma reinstalação e deve funcionar (foi bom para mim):

sudo apt-get install -f
RKelln
fonte