mysql ไม่อัปเดตเนื่องจากข้อผิดพลาดในโปรไฟล์ apparmor


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 translate.google.com/#auto/th
ทางออกของโซลูชัน

คำตอบ:


13

ดูเหมือนว่าคุณมีข้อผิดพลาดในโปรไฟล์ apparmor ของคุณสำหรับ mysql ในขณะที่แก้ไขมันคุณสามารถปิดการใช้งานโปรไฟล์ apparmor สำหรับ mysql และ mysql ควรใช้งานได้:

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

และรีสตาร์ท apparmor ด้วย: sudo /etc/init.d/apparmor restart

เมื่อคุณแก้ไขโปรไฟล์ apparmor mysql คุณสามารถลบ symlink และเริ่ม 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 เริ่ม mysql start: ถูกปฏิเสธส่งข้อความ, 1 กฎที่ตรงกัน; type = "method_call", sender = ": 1.93" (uid = 1000 pid = 32188 comm = "start mysql") อินเตอร์เฟส = "com.ubuntu.Upstart0_6.Job" สมาชิก = "เริ่มต้น" ชื่อข้อผิดพลาด = "(ไม่ได้ตั้งค่า)" Request_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")
Diego

คุณจำเป็นต้องเริ่ม MySQL sudo start mysqlด้วย ข้อผิดพลาดที่คุณได้รับเป็นเช่นเดียวกับเมื่อคุณพยายามเริ่ม mysql โดยไม่ต้อง sudo (id ผู้ใช้ = 1,000 ในข้อความข้อผิดพลาด)
เรน

มันทำให้ฉันมีข้อผิดพลาด paste.ubuntu.com/1147618
ดิเอโก

หาก mysql ได้รับการติดตั้ง / กำหนดค่าอย่างถูกต้องควรเริ่มต้นทันที ฉันจะพยายามลบ / ติดตั้ง mysql อีกครั้งเนื่องจากข้อผิดพลาดแรกของคุณเกิดขึ้นระหว่างการติดตั้ง mysql และอาจไม่ได้ติดตั้งหรือกำหนดค่าอย่างถูกต้องเพราะหยุดกลางเนื่องจาก apparmor ไม่อนุญาตให้เขียนที่อื่น
เรน

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 / + ข้อผิดพลาด / 227,615

ฉันต้องเปลี่ยนตำแหน่งของไดเรกทอรี tmp ที่ mysql ใช้อยู่:

แก้ไข /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.