Mariadb 启动失败报错permission denied

Mariadb 启动失败报错permission denied
系统架构介绍:
生产某系统使用mariadb 10.2.6 版本,架构虚拟机做一主一从。实例用户是mysql,实例属组也是mysql。

报错:
某天系统管理员反应主库的虚拟机因宿主机宕掉,主库虚拟机漂移别的宿主机起来后,申请高权手工启动mariadb 启动失败。
报错如下:
can’t create/write to file ‘/mariadata/log/mysqld.log’ permission denied.

应急处理:
ls -l /mariadata/log/mysqld.log
-rw-r–r-- 498 mysql /mariadata/log/mysqld.log
cd 相关的datadir /home/mariadata/目录发现
data tmp log 等子目录也是498 mysql权限
cat /etc/passwd
发现mysql 用户的属组是901:901 ,同时mysql group组id 也是901.
推测是调整都mysql 相关权限,导致重启失败。

调整权限
chown mysql:mysql /mariadata/log/mysqld.log
cd /home/mariadata/
chown -R mysql:mysql data log tmp

再次启动数据库成功启动。

登录从库,查看主从状态
show slave status\G;
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
显示主从同步状态正常。

原因分析:
经管理员查阅之前的变更记录,之前有调整mysql相关属组和用户id值,以前是498:498 mysql 直接调整了/etc/passwd和/etc/group 相关的id值为901.
调整后为901:901 mysql:mysql,但是mysql实例用户涉及的相关mariadb文件权限没有调整,不重启数据库不报错,重启后就报错导致上面启动失败。

总结:
在生产环境实例用户权限是不能随便调整的,后续将从库相关mariadb文件权限也同步调整,同时将主库从库关于主从的切换脚本是实例用户权限的脚本同时调整权限。
看似一个简单调整用户和组id值的动作,没有考虑全面也会留下隐患,影响启动、影响切换,生产系统相关用户属组权限调整应该谨慎、相关考虑也要全面。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值