web-dev-qa-db-ja.com

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

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以外のユーザーに変更するにはどうすればよいですか?

46
Arie K

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

基本的な考え方は、DBを保持するファイルシステムは、そのパスに問題がある場合を除いて、マウントポイントではなく変更する必要があるということです。 libはrootのみが読み取ることができます。

43

また

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

グループも変更する必要がある場合

34
user55650

次のように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」を追加してください

11
Frank Nocke

ファイルシステムがマウントされていないときに権限を変更するようにしてください-マウント中にそれを行うことは私にとってはうまくいきませんでした。

さらに、fstabに 'user'オプションを追加できます。例:

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

これは、mountコマンド(呼び出す必要がある場合)がそのボリュームをマウントするためにroot特権を必要としないことも意味するはずです。 fstabを変更しなくても、問題の修正は止まりません!

4
Tom Werner

私は通常、空のマウントされていないディレクトリでこれを行います

chmod 777 <directory>

次に行う

chown -R mysql.mysql <directory>

次に/ etc/fstabで

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

次に使用します

mount -a

/ etc/fstabにリストされているすべてのファイルシステムをマウントします。

これでうまくいきます。試してみる

2

mountコマンドラインの一部としてのみ実行する場合は、-oスイッチを使用して次のように実行できます。

mount device mount-point -o uid=foo

これにより、マウントポイントの所有者がrootではなくユーザーfooに変更されます。

2
Nasko