欢迎光临
专业Linux运维二十年

CentOS7中MariaDB修改datadir后无法启动的解决方法

发现问题

最近想把服务器的CentOS 6.8升级上CentOS7。但是失败了,重装了系统,重装以后挂载好数据盘后发现MariaDB起不来了,查journal log,只有一行warning

?
1
can't create test file /var/lib/mysql/core.lower-test

解决方法

在网上查了一下,有两种方案

     第一是说selinux导致的,但是ucloud的镜像默认就是关闭selinux的,所以不是这个问题

     第二说是apparmor限制了进程的目录读写,但是那是Ubuntu下默认安装的,CentOS下没有这个东西,所以也不是这个问题。

其他文件权限之类的都检查过了,而且是直接继承的旧磁盘数据,也不会出现问题。

这时我发现,如果直接用mysqld_safemysqld命令,跳过systemctl启动进程,能够让MariaDB正常起来,于是就去检查mariadb.service

发现其中有一行

?
1
ProtectHome=true

注释是

?
1
# Prevent accessing /home, /root and /run/user

而我的datadir=/home/mysql

于是把它改成false,就能够正常启动服务了

总结

脚本之家
赞(0) 打赏
未经允许不得转载:Linux老运维 » CentOS7中MariaDB修改datadir后无法启动的解决方法

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫