mysql 权限apparmor=“DENIED“问题

简单记录下,最近安装一个mysql,但是修改了对应的数据文件的目录,也就是在/etc/mysql 修改了对应配置文件

[mysqld]
datadir=/data/mysql/data
socket=/var/lib/mysql/mysql.sock
group_concat_max_len=1024000
log-error=/data/mysql/log/mysql-error.log
character-set-server=utf8mb4
default-storage-engine=INNODB

修改了datadir 导致mysql无法启动,因为mysql是采用mysql用户启动,非root用户,所以去把/data/mysql/data 的权限赋给mysql用户,大致就是
sudo chown -R mysql:mysql /data/mysql/data 权限都给了之后sudo systemctl restart mysql还是不对,利用journalctl -xe 查看具体的错误信息,出现类似的错误,开始还有别的目录显示这样,带着AVC apparmor="DENIED" operation="mknod" 应该都是类似的问题。

May 26 03:06:53 ent-ai-1 audit[82815]: AVC apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/var/lib/mysql/mysql.sock.lock" pid=82815 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=114 ouid=114

解决方案

修改 /etc/apparmor.d/usr.sbin.mysqld 文件,修改对应的

# Allow data dir access
  /data/mysql/data/ r,
  /data/mysql/data/** rwk,
  /var/lib/mysql/** rwk,

这里是数据对应的,如果出现log等其他目录的显示这样的权限问题,同理进行修改,之前还不直到权限在这里还被设置了一下
修改保存之后重启 apparmor 命令就这样
sudo systemctl restart apparmor
最后再重新启动mysql生效
sudo systemctl restart mysql

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值