マウントポイントの所有者を変更する方法

マウントポイントの所有者を変更する方法

mysql データ ディレクトリを別のディスクに移動したので、現在は/var/lib/mysql別のパーティションへのマウント ポイントになっています。ディレクトリの所有者/var/lib/mysqlを に設定しましたmysql.mysql

しかし、パーティションをマウントするたびに、所有権が に変更されますroot.root。このため、追加の MySQL データベースを作成できませんでした。

fstab エントリ:

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

マウントポイントの所有者を root 以外のユーザーに変更するにはどうすればよいですか?

答え1

ファイルシステムがマウントされていない場合は、マウント ポイントの権限ではなく、マウントされたファイルシステムの権限を変更する必要があります。これmount /var/lib/mysqlchown mysql.mysql /var/lib/mysql、MySQL DB ファイルシステムのルートの権限が変更されます。

lib基本的な考え方は、パスに何らかの問題 (たとえば、 root によってのみ読み取り可能)がない限り、マウント ポイントではなく、DB を保持するファイルシステムを変更する必要があるということです。

答え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 にリストされているすべてのファイルシステムをマウントします。

これは私には効果がありました。試してみてください

関連情報