记一次mariadb升级故障

由于做mariadb集群,将版本从自带的5.5升级到10.0.3,升级成功后发现起不来

查journal log,只有一行warning

can’t create test file /var/lib/mysql/core.lower-test

google了一下,有两种方案

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

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

其他文件权限之类的都检查过了,也不会出现问题。

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

发现其中有一行

ProtectHome=true

注释是

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

而我的datadir=/home/mysql

于是有两个方案

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

2.移动mysql的数据库文件到非  /home, /root and /run/user 目录

解决

猜你喜欢

转载自www.cnblogs.com/yunweidf/p/10775542.html