CentOS7中MariaDB修改datadir后无法启动的解决方法
发现问题
最近想把服务器的CentOS 6.8升级上CentOS7。但是失败了,重装了系统,重装以后挂载好数据盘后发现MariaDB起不来了,查journal log,只有一行warning
can't create test file /var/lib/mysql/core.lower-test
解决方法
在网上查了一下,有两种方案
第一是说selinux导致的,但是ucloud的镜像默认就是关闭selinux的,所以不是这个问题
第二说是apparmor限制了进程的目录读写,但是那是Ubuntu下默认安装的,CentOS下没有这个东西,所以也不是这个问题。
其他文件权限之类的都检查过了,而且是直接继承的旧磁盘数据,也不会出现问题。
这时我发现,如果直接用mysqld_safe
和mysqld
命令,跳过systemctl
启动进程,能够让MariaDB正常起来,于是就去检查mariadb.service
发现其中有一行
ProtectHome=true
注释是
# Prevent accessing /home, /root and /run/user
而我的datadir=/home/mysql
于是把它改成false,就能够正常启动服务了
总结
以上就是为大家总结的CentOS7系统中MariaDB修改datadir后无法启动的解决办法,希望本文的内容对同样遇到这个问题的朋友们能有所帮助,如果有疑问大家可以留言交流。
相关文章
linux 和 dockerfile 中配置环境变量的方式总结
要熟悉 dockerfile 配置 linux 的知识不能少,所以本文将给大家总结 linux 与 dockerfile 中各种环境变量,需要的朋友可以参考下2023-07-07CentOS 6.5上编译安装Apache服务器的方法(最小化安装)
这篇文章主要介绍了CentOS 6.5上编译安装Apache服务器的方法(最小化安装),需要的朋友可以参考下2017-09-09
最新评论