前言
mysql 修改數(shù)據(jù)庫默認(rèn)路徑時出現(xiàn)服務(wù)無法啟動,檢查日志發(fā)現(xiàn)報文件權(quán)限的錯誤。
對于更改后的目錄已經(jīng)設(shè)置mysql為目錄的owner啦呀!且命令行下直接啟動數(shù)據(jù)庫就一切正常。
祭出萬能的Google ,最后在一篇老外的帖子中找到了原因——SELINUX 策略問題!
凡是后臺服務(wù)都需要有對相應(yīng)目錄的對應(yīng)權(quán)限,而 mysql 的默認(rèn)路徑/var/lib/mysql 已經(jīng)添加了相應(yīng)的策略,修改路徑后由于沒有相應(yīng)的策略,導(dǎo)致后臺進(jìn)程讀取文件被selinux阻止,從而出現(xiàn)權(quán)限錯誤!
方法如下:
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 為要設(shè)置的安全上下文
FILES 對象(文件)
--reference 參照對象
PEF_FILES 參照文件上下文
FILES 應(yīng)用參照文件上下文為我的上下文。
OPTIONS 如下:
-f 強(qiáng)迫執(zhí)行
-R 遞歸地修改對象的安全上下文
-r ROLE 修改安全上下文角色的配置
-t TYPE 修改安全上下文類型的配置
-u USER 修改安全上下文用戶的配置
-v 顯示冗長的信息
-l, --range=RANGE 修改安全上下文中的安全級別
mysql,方法為:
chcon -R -t mysqld_db_t /db/mysql
實(shí)例
如果你想把這個ftp共享給匿名用戶的話,需要開啟以下:
chcon -R -t public_content_t /var/ftp
如果你想讓你設(shè)置的FTP目錄可以上傳文件的話,SELINUX需要設(shè)置:
chcon -t public_content_rw_t /var/ftp/incoming
允許用戶HHTP訪問其家目錄,該設(shè)定限僅于用戶的家目錄主頁:
setsebool -P httpd_enable_homedirs 1 chcon -R -t httpd_sys_content_t ~user/public_html
如果你希望將samba目錄共享給其他用戶,你需要設(shè)置:
chcon -t samba_share_t /directory
共享rsync目錄時:
chcon -t public_content_t /directories
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- 詳解Mysql數(shù)據(jù)庫date, datetime類型設(shè)置0000-00-00默認(rèn)值(default)報錯問題
- Django中更改默認(rèn)數(shù)據(jù)庫為mysql的方法示例
- MySQL安裝后默認(rèn)自帶數(shù)據(jù)庫的作用詳解