web-dev-qa-db-ja.com

MongoDBはUbuntuでrootとして実行した場合にのみ機能します-データディレクトリの問題

私は 公式パッケージ (mongodb-stable)を使用してMongoDBをインストールし、 クイックスタートガイド に以下を含めました:

デフォルトでは、MongoDBはデータを/data/dbに格納しますが、そのディレクトリは自動的には作成されません。それを作成するには、次のようにします。

$ Sudo mkdir -p /data/db/
$ Sudo chown `id -u` /data/db

--dbpathオプションを使用して、MongoDBに別のデータディレクトリを使用するように指示することもできます。

MongoDBは、Sudo mongodを実行した場合にのみ起動します-mongodを実行しようとした場合、エラーが発生します。

Mon Mar 14 15:27:07 [initandlisten] couldn't open /data/db/test.ns errno:13 Permission denied
Mon Mar 14 15:27:07 [initandlisten]   couldn't open file /data/db/test.ns terminating
Mon Mar 14 15:27:07 dbexit:

何ができますか?

38
YXD

Rootとして/data/dbを作成したため、これらの権限が付与されています。ユーザーアカウント、またはmongoを実行しているものに対する権限を変更できます。

chown -R username /data/db

または/data

グループを設定することもできます

chown -R username.groupname

-Rは再帰的にそれを行うため、mongoDBをrootとして実行して作成したすべてのファイルに影響します。

72
Joe Bowman