ubuntu 安裝mysql問題


sudo apt-get install mysql-server 錯誤信息:

 

    Renaming removed key_buffer and myisam-recover options (if present)
    Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
    invoke-rc.d: initscript mysql, action "start" failed.
    dpkg: 處理軟件包 mysql-server-5.7 (--configure)時出錯:
    子進程 已安裝 post-installation 腳本 返回錯誤狀態 1
    dpkg: 依賴關系問題使得 mysql-server 的配置工作不能繼續:
    mysql-server 依賴於 mysql-server-5.7;然而:
    軟件包 mysql-server-5.7 尚未配置。

    dpkg: 處理軟件包 mysql-server (--configure)時出錯:
    依賴關系問題 - 仍未被配置

 

先說結論: apparmor 設置有問題,會 permission deny apt的某些安裝步驟,但沒仔細看具體是什么原因

解決辦法: 直接禁用掉apparmor針對mysql的設置(比較粗糙,生產環境的話,還是要仔細研究下到底是哪些設置有問題)

    sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
    sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
            (詳細看這個:
https://help.ubuntu.com/community/AppArmor) 

      繼續完成安裝:sudo apt-get install mysql-server

 

下面是查錯過程:

1. "systemctl status mysql.service" 和 "journalctl -xe" 都試了,拿不到有價值的信息

2. vi /var/log/mysql/error.log   Mysql的日志沒有信息

3.  cd /var/log && ls -lrt 發現關聯比較大的就是dpkg.log syslog 

4. 分別查看發現要運行 mysql_install_db

5. mysql_install_db 已經 過時, 新版本應該是 mysqld --initialize --user=mysql

6. mysqld --initialize --user=mysql 報錯:  “/var/lib/mysql/” already exists, 刪掉再運行,新錯誤: mkdir permission denied

7. chmod 777 /var/lib 還是 permission denied

8. 再次 cd /var/log && ls -lrt 偶然看了kern.log

  audit: type=1400 audit(1475809767.205:738): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/var.lib/mysql/" pid=7611 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=0 ouid=123

9. google了一下apparmor 發現真是權限管理相關的,禁用mysql的profile, OK 了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM