apparmorプロファイルのエラーにより、mysqlが更新されない


9

アップデート後に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

今回、英語への翻訳を追加しました。より多くの反応を引き付けるので、将来的には英語版を配置するようにしてください。Google翻訳を使用して翻訳できますtranslate.google.com/#auto/en
exITソリューション

回答:


13

mysqlのapparmorプロファイルにエラーがあるようです。それを修正している間、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

それは機能しませんでした。mysqlを 開始すると、次のエラーpaste.ubuntu.com/1147496 start mysql startを取得します。送信されたメッセージの拒否、1つの一致したルール。type = "method_call"、sender = ":1.93"(uid = 1000 pid = 32188 comm = "start mysql")interface = "com.ubuntu.Upstart0_6.Job" member = "Start" error name = "(unset)" requested_reply = "0" destination = "com.ubuntu.Upstart"(uid = 0 pid = 1 comm = "/ sbin / init")
Diego

mysqlをで起動する必要がありますsudo start mysql。受け取ったエラーは、sudoなしでmysqlを起動しようとしたときと同じです(エラーメッセージでユーザーID = 1000)。
laurent

それでもエラーが発生します。paste.ubuntu.com/1147618
ディエゴ

mysqlが正しくインストール/構成されていれば、すぐに開始されているはずです。最初のエラーはmysqlのインストール中に発生したため、mysqlを削除/再インストールしようとしましたが、apparmorがどこかに書き込むことができないために途中で停止したため、おそらく正しくインストールまたは設定されていません。
laurent

1
良い!:)-インストールが失敗した後、mysqlを再インストールするのは最も簡単ではありません...
laurent

0

私はそれがこの問題に関連していると信じています:https : //bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/375371 https://bugs.launchpad.net/ubuntu/+source/mysql -dfsg-5.0 / + bug / 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.