mysql修改資料庫預設路徑無法啟動問題的解決

2022-09-25 23:33:12 字數 1575 閱讀 5282

前言

mysql 修改資料庫預設路徑時出現服務無法啟動,檢查日誌發現報檔案許可權的錯誤。

對於更改後的目錄已經設定mysql為目錄的owner啦呀!且命令列下直接啟動資料庫就一切正常。

祭出萬能的google ,最後在一篇老外的帖子中找到了原因——selinux 策略問題!

凡是後台服務都需要有對相應目錄的對應許可權,而 mysql 的預設路徑/var/lib/mysql 已經新增了相應的策略,修改路徑後由於沒有相應的策略,導致後台程序讀取檔案被selinux阻止,從而出現許可權錯誤!

方法如下:

mysql,方法為:

程式設計客棧chcon -r -t mysqld_db_t /db/mysql

如果是apache,方法為:

附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, --rakvruncunge=range    修改安全上下文中的安全級別

mysql,方法為:

chcon -r -t mysqld_db_t /db/mkvruncuysql

例項如果你想把這個ftp共享給匿名使用者的話,需要開啟以下:

chcon -r -t public_content_t /var/ftp

如果你想讓你設定的ftp目錄可以上傳檔案的話,selinux需要設定:

chcon -t public_content_rw_t /var/ftp/incoming

允許使用者h程式設計客棧htp訪問其家目錄,該設定限僅於使用者的家目錄主頁:

setsebool -p httpd_enable_homedirs 1 chcon程式設計客棧 -r -t httpd_sys_content_t ~user/public_html

如果你希望將samba目錄共享給其他使用者,你需要設定:

chcon -t samba_share_t /directory

共享rsync目錄時:

chcon -t public_content_t /directories

總結本文標題: mysql修改資料庫預設路徑無法啟動問題的解決

本文位址:

mysql 修改資料庫

windows環境中 mysql 和php搭配之最佳組合 installdir my.ini 一般在mysql 和php搭配之最佳組合 安裝目錄下有my.ini即mysql 和php搭配之最佳組合 的配置檔案。linux環境中 etc my.cnf 儲存退出編輯。2 然後重啟mysql 和php搭配...

MySQL修改資料庫

mysql 中,使用 alter database 來修改已經被建立或者存在的資料庫的相關引數。修改資料庫的語法格式為 alter database 資料庫名 語法說明如下 alter database 用於更改資料庫的全域性特性。使用 alter database 需要獲得資料庫 alter 許可...

修改資料庫預設字元編碼

問題描述 今天使用django的admin站點時,發現中文輸入會報錯,後搜尋該問題顯示為資料庫編碼問題 解決辦法 1.show variables like char 可以檢視資料庫當前預設編碼方式 2.複製mysql目錄下mydefault.ini檔案,貼上並改檔名為my.ini client d...