39

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

デフォルトでは、MongoDBはにデータを保存しますが /data/db、そのディレクトリを自動的に作成することはありません。作成するには、次のようにします。

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

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

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:

何が得られますか?

4

2 に答える 2

75

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

chown -R username /data/db

また/data

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

chown -R username.groupname

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

于 2011-03-14T16:24:35.417 に答える
1

私は2021年にRHEL8で同じ問題を抱えていました。

sudo mongodsudo権限で実行できましたが、次のコマンドでサービスとして開始 できませんでしsudo systemctl start mongodた。

私は多くの解決策を試し、それぞれの試みの後にテストしました。最終的に私にとってそれを解決したのは、、、およびの所有権を変更/data/db/する/var/lib/mongo/こと/var/log/mongodb/ですmongod

正確なコマンド:

sudo chown -R mongod:mongod /var/lib/mongo/
sudo chown -R mongod:mongod /var/log/mongodb/
sudo chown -R mongod:mongod /data/
于 2021-08-02T19:08:16.717 に答える