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 了。

 

转载于:https://www.cnblogs.com/lispppppppp/p/5936118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值