由于apparmor配置文件中的错误,mysql不会更新

更新后我收到了一个mysql错误。

这是日志。

(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 

如果有人可以提供帮助。 我试图删除mysql服务器,它告诉我这个。

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

添加英文翻译成日志文件:

 (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 

您的apparmor配置文件中的mysql似乎有错误。 修复它时,你可以禁用mysql的apparmor配置文件,mysql应该工作:

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

并重启apparmor: sudo /etc/init.d/apparmor restart

修复了mysql apparmor配置文件后,可以删除符号链接并重新启动apparmor。

UPDATE2:

删除并重新安装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 

(应该要求新的管理员密码)

检查它是否有效:

 sudo service mysql status 

如果它不起作用,请检查您是否有文件/etc/mysql/my.cnf 。 如果没有,请从默认值复制它并重启mysql:

 sudo cp /etc/mysql/my.cnf.dpkg-dist /etc/mysql/my.cnf 

我认为这与这个问题有关: https : //bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/375371 https://bugs.launchpad.net/ubuntu/+source/mysql -dfsg-5.0 / +错误/ 227615

我不得不改变mysql使用的tmp目录的位置:

编辑/etc/mysql/my.cnf

更改:

 tmpdir = /tmp 

至:

 tmpdir = /var/tmp/mysql 

并确保您创建该目录并适当地设置权限:

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

然后你可以尝试重新安装它应该工作(对我来说很好):

 sudo apt-get install -f