發(fā)現(xiàn)問題
最近想把服務(wù)器的CentOS 6.8升級上CentOS7。但是失敗了,重裝了系統(tǒng),重裝以后掛載好數(shù)據(jù)盤后發(fā)現(xiàn)MariaDB起不來了,查journal log,只有一行warning
can't create test file /var/lib/mysql/core.lower-test
解決方法
在網(wǎng)上查了一下,有兩種方案
第一是說selinux導(dǎo)致的,但是ucloud的鏡像默認就是關(guān)閉selinux的,所以不是這個問題
第二說是apparmor限制了進程的目錄讀寫,但是那是Ubuntu下默認安裝的,CentOS下沒有這個東西,所以也不是這個問題。
其他文件權(quán)限之類的都檢查過了,而且是直接繼承的舊磁盤數(shù)據(jù),也不會出現(xiàn)問題。
這時我發(fā)現(xiàn),如果直接用mysqld_safe和mysqld命令,跳過systemctl啟動進程,能夠讓MariaDB正常起來,于是就去檢查mariadb.service
發(fā)現(xiàn)其中有一行
ProtectHome=true
注釋是
# Prevent accessing /home, /root and /run/user
而我的datadir=/home/mysql
于是把它改成false,就能夠正常啟動服務(wù)了
總結(jié)
以上就是為大家總結(jié)的CentOS7系統(tǒng)中MariaDB修改datadir后無法啟動的解決辦法,希望本文的內(nèi)容對同樣遇到這個問題的朋友們能有所幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答
圖片精選