mysql修改存储目录SELinux权限导致无法启动解决过程

网上修改存储目录的教程有很多 自己觉得这个比较靠谱

1.linux修改mysql存储路径_kisshongniu的博客-CSDN博客_linux更改mysql存储路径

我在参照修改完成后启动mysql失败

去查看日志

tail -300 /var/log/mysqld.log

提示

mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)

一顿百度操作之后又报了下面这个错

mysqld: File './binlog.~rec~' not found (OS errno 13 - Permission denied)

其实都是因为SELinux的权限原因

最终参考这篇文章搞定了

SELinux 与 MySQL注意不推荐关闭SELinux

命令给大家贴到这里

#安装命令
yum install policycoreutils-python

#把新的 MySQL 数据目录增加到mysqld_db_t 这个 SELinux 类型中
semanage fcontext -a -t mysqld_db_t "/home/mysql/data/mysql(/.*)?"

#使用命令 restorecon 恢复这个数据目录对应的 SELinux 上下文
restorecon -Rv /home/mysql/data/mysql

#用 semanage fcontext 命令的 -l 选项进行检查
semanage fcontext -l |grep mysqld_db_t

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从日志中查看SELinux权限导致的网络无法使用问题,可以按照以下步骤进行操作: 1. 打开终端,以root用户身份登录系统。 2. 使用以下命令查看SELinux日志: ``` grep AVC /var/log/audit/audit.log ``` 这个命令将会输出所有包含 "AVC" 的日志记录,这些记录表示SELinux原子策略的决策。 3. 在输出中查找与网络相关的日志记录。例如,你可以搜索 "network"、"port"、"socket"、"httpd" 或 "ftp" 等关键词,以查找与网络相关的日志记录。 4. 了解SELinux的决策。在日志记录中,你会看到一些以 "AVC" 开头的记录,其中包含了SELinux的决策信息。例如: ``` type=AVC msg=audit(1436929977.620:289): avc: denied { name_connect } for pid=3211 comm="httpd" dest=80 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket ``` 这条记录表示,一个进程(httpd)尝试连接到端口80,但是由于SELinux的策略,这个连接被拒绝了。在这个例子中,原因是 httpd 进程的安全上下文(scontext)是 "unconfined_u:system_r:httpd_t:s0",而目标端口的安全上下文(tcontext)是 "system_u:object_r:http_port_t:s0"。由于这两个安全上下文不匹配,SELinux拒绝了这个连接。 5. 修改SELinux的策略。如果你在日志中发现了与网络相关的SELinux拒绝记录,那么你需要针对这些记录来修改SELinux的策略。例如,在上面的例子中,你需要将 httpd 进程的安全上下文与目标端口的安全上下文进行匹配。你可以使用 `chcon` 命令来修改文件或目录的安全上下文,使用 `semanage` 命令来修改SELinux策略。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值