mysqlユーザーに/var/lib/mysqlへのアクセス権が必要ですか?

mysqlユーザーに/var/lib/mysqlへのアクセス権が必要ですか?

まず、mysqlがマシンでよく戻っているようだと申し上げます。それにもかかわらずsu mysql、私とls /var/lib/mysql私のアクセスは拒否されます。私のデータベーステーブルに対応するデータファイルを見ると、sudo ls /var/lib/mysqlこれはmysqlのデータフォルダであるに違いありません。

mysqlユーザーは自分のデータフォルダにアクセスできないはずですか?機械が誤って構成されていますか?

詳細は:

$ sudo ls -la /var/lib/ | grep mysql
drwx------  5 mysql     mysql   4096 2011-06-25 08:05 mysql
$ sudo su mysql
$ ls /var/lib/mysql
ls: cannot open directory /var/lib/mysql: Permission denied
$ sudo ls -la /var | grep lib
drwxr-xr-x 42 root root  4096 2011-03-17 12:03 lib
$ sudo ls -la / | grep var
drwxr-xr-x 14 root root  4096 2010-12-02 19:14 var
$

答え1

テストには一種のバグがあります。デーモンが正しく動作するという事実は、ユーザーがmysqlフォルダを読むことができることを証明します。 showの出力としてlsそれはまさにに属しますmysql。実際にユーザーなら読んmysqlで問題ないでしょう。

私はあなたがsu失敗したと思います。おそらくmysqlユーザーにシェルがないからです。チェックインできますが、に/etc/passwd設定されて成功し/bin/trueましたがsu、すぐに終了し、実行するとlsユーザーとして実行されます。試してsudo -u mysql ls -al /var/lib/mysqlみてください。

次回は、あなたが本当にあなたが考えている人であることを確認してくださいwhoami。これは、現在のユーザー名が通常PS1プロンプトの一部である理由の1つです。上記のコピー/貼り付けを編集していない場合、シェルプロンプトには誰が表示されません。

関連情報