如何更改掛載點的所有者

如何更改掛載點的所有者

我們已將 mysql 資料目錄移至另一個磁碟,因此現在/var/lib/mysql只是另一個分割區的掛載點。我們將目錄的所有者設定/var/lib/mysqlmysql.mysql.

但每次我們掛載分割時,所有權都會改為root.root.因此,我們無法建立額外的 MySQL 資料庫。

我們的 fstab 條目:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

如何將掛載點的擁有者更改為root以外的使用者?

答案1

當檔案系統未掛載時,您需要變更已掛載檔案系統的權限,而不是掛載點的權限。那麼mount /var/lib/mysql那麼chown mysql.mysql /var/lib/mysql。這將更改 MySQL DB 檔案系統根的權限。

基本概念是需要更改保存資料庫的檔案系統,而不是掛載點,除非其路徑有一些問題,例如lib只能由 root 讀取。

答案2

mount device mount-point -o uid=foo -o gid=foo

如果組也需要改變

答案3

重要免責聲明(從評論中了解到):

uid 和 gid 標誌僅適用於不支援 Linux 權限模式的檔案系統 - 即 FAT 和 NTFS 等

因此,這不是 OP 的正確答案,但對其他人有幫助


加入 uid 和 gid,如下所示:

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

您可以使用實際的使用者/群組名稱(注意空格)或數字 uid、gid 值。我添加了 rw 和 exec,這可能會進一步幫助您防止存取問題(假設您位於開發系統上,而不是生產伺服器上)。

PS:要獲得更多存取權限(如果需要),請新增“,dir_mode=0777,file_mode=0777”

答案4

我通常在空的未安裝目錄上執行此操作

chmod 777 <directory>

然後做

chown -R mysql.mysql <directory>

然後在 /etc/fstab 中執行

<device>    <directory>  ext3   user,defaults 0 2

然後使用

mount -a

掛載 /etc/fstab 中列出的所有檔案系統。

這對我有用。試一試

相關內容