MongoDB работает только при запуске с правами root на Ubuntu - проблема с каталогом данных
Я установил 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
Вы создали /data/db
как root, чтобы иметь эти разрешения. Вы можете изменить разрешения на свою учетную запись пользователя или на то, что у вас есть mongo, как.
chown -R username /data/db
или /data
Вы также можете установить группу
chown -R username.groupname
-R
делает это рекурсивно, поэтому он будет влиять на все созданные вами файлы, запустив mongoDB как уже существующий.