MongoDB работает только при запуске от имени пользователя root в Ubuntu - проблема с каталогом данных - PullRequest
35 голосов
/ 14 марта 2011

Я установил MongoDB с официальными пакетами (mongodb-stable) и следовал Руководству по быстрому запуску , которое включает:

По умолчанию 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:

Что дает?

1 Ответ

70 голосов
/ 14 марта 2011

Вы создали /data/db как root, поэтому у него есть эти разрешения.Вы можете изменить права доступа к своей учетной записи пользователя или любой другой, у которой у вас есть монго.

chown -R username /data/db

или /data

Вы также можете установить группу

chown -R username.groupname

-R делает это рекурсивно, так что это повлияет на все файлы, которые вы уже создали, используя mongoDB от имени root.

...