mysql 資料庫在修改資料庫預設路徑的問題
阿新 • • 發佈:2018-12-23
mysql 修改資料庫預設路徑時出現服務無法啟動,檢查日誌發現報檔案許可權的錯誤。
對於更改後的目錄已經設定mysql為目錄的owner啦呀!且命令列下直接啟動資料庫就一切正常。
祭出萬能的Google ,最後在一篇老外的帖子中找到了原因——SELINUX 策略問題!
凡是後臺服務都需要有對相應目錄的對應許可權,而 mysql 的預設路徑/var/lib/mysql 已經添加了相應的策略,修改路徑後由於沒有相應的策略,導致後臺程序讀取檔案被selinux阻止,從而出現許可權錯誤!
mysql,方法為:
chcon -R -t mysqld_db_t /db/mysql
如果是APACHE,方法為:
# chcon -R -h -t httpd_sys_content_t /www/web/
附chcon 命令幫助chcon 命令:修改物件(檔案)的安全上下文(如:使用者:角色:型別:安全級別)。
命令格式:
Chcon [OPTIONS…] CONTEXT FILES…..
Chcon [OPTIONS…] –reference=PEF_FILES FILES
說明:
CONTEXT 為要設定的安全上下文
FILES 物件(檔案)
--reference 參照物件
PEF_FILES 參照檔案上下文
FILES 應用參照檔案上下文為我的上下文。
OPTIONS 如下:
-f 強迫執行
-R 遞迴地修改物件的安全上下文
-r ROLE 修改安全上下文角色的配置
-t TYPE 修改安全上下文型別的配置
-u USER 修改安全上下文使用者的配置
-v 顯示冗長的資訊
-l, --range=RANGE 修改安全上下文中的安全級別
mysql,方法為:
chcon -R -t mysqld_db_t /db/mysql