2011-03-14 31 views
32

我安裝的MongoDB的official packages(mongodb的穩定),並遵循Quickstart guide,其中包括數據目錄問題:的MongoDB僅適用 -

By default MongoDB will store data in /data/db , but it won't automatically create that directory. To create it, do:

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

You can also tell MongoDB to use a different data directory, with the --dbpath option.

如果我跑 sudo mongod

MongoDB中才會開始 - 如果我嘗試和運行只是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: 

是怎麼回事?

+5

我希望所有的問題都被問及。 – 2011-05-01 01:05:33

回答

65

您以root身份創建了/data/db,因此它具有這些權限。您可以更改您的用戶帳戶的權限,或者更改您運行的任何帳戶的權限。

chown -R username /data/db 

/data

您還可以設置一組

chown -R username.groupname 

-R做它遞歸,所以它會影響您創建運行的MongoDB的根已經是所有文件。

+2

將所有者作爲root離開並僅分配一個組的任何好處?或者是否更好地將所有者設置爲用戶? – 2012-01-10 22:24:41

+3

謝謝,我正在將目錄chowning到mongodb:mongodb而不是我的用戶名:我的小組。 – Aaron 2012-07-31 00:52:55

+0

像魅力一樣工作 – 2015-08-11 14:25:01