發現問題
最近想把服務器的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后無法啟動的解決辦法,希望本文的內容對同樣遇到這個問題的朋友們能有所幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答
圖片精選