2014-10-10 11 views
6

Właśnie pobrałem mongodb na mój brandy nowy MacBookAir z OS X 10.9.5 robiąc brew install mongodb.Nie chcę zaczynać mongody od `sudo mongod`a

Próbowałem uruchomić mongod z Terminala i powiedział "no/data/db", więc stworzyłem go z sudo mkdir /data i sudo mkdir /data/db.

Uruchamianie mongoda teraz otrzymuję komunikat "Nie można utworzyć/otworzyć pliku blokady: /data/db/mongod.lock errno: 13 Odmowa uprawnień", ale mogę uruchomić go idealnie dobrze z sudo mongod.

Jak mogę to zrobić, aby nie musiałem uruchomić mongod z sudo, ale zamiast tego po prostu mongod?

(miałem to tak, że na moim poprzednim komputerze, ale nie pamiętam, co robiłem w ogóle, i że komputer został pomieszane tak.)

Odpowiedz

4

Proste Uruchom go z

mongod --dbpath ~/.mongodb/data --logpath ~/.mongodb/mongod.log --fork 

po Wystąpił problem polegający na tym, że domyślna dbpath /data/mongodb została utworzona dla użytkownika root. Powrót na górę

Innym rozwiązaniem byłoby zrobić

chown <your username here> -R /data/mongodb 

I uruchomić mongod ze ścieżkami domyślnymi.

Jako alternatywę dla uruchamiania MongoDB bezpośrednio w OSX, możesz chcieć rzucić okiem na m202docker, który pozwala uruchomić MongoDB w (cienkim) zwirtualizowanym środowisku. Istnieją również inne obrazy Docker dla MongoDB.

Disclaimer: I stworzył obraz m202docker, więc jestem propably stronniczy

7

Ten pracował dla mnie:

sudo chmod -R 777 /data/db 

następnie

sudo chown -R `id -u` /data/db 

-R sprawia polecenie rekurencyjne; Próbowałem wcześniej zarówno sudo chmod 777 /data/db i sudo chown `id -u` /data/db zgodnie z instrukcjami innych odpowiedzi StackOverflow, ale nie udało.

(PS Przykro mi Wiem, że to bardzo stare pytanie, ale znalazłem je, próbując znaleźć odpowiedź na mój problem, a ponieważ udało mi się go rozwiązać, pomyślałem, że umieściłbym to tutaj dla każdego w przyszłości i nie jestem pewien, które z tych dwóch poleceń robiło różnicę, ale zadziałało.)

Powiązane problemy