2014-10-10 10 views
6

Ich habe gerade mongodb auf meinen brandy neuen MacBookAir mit OS X 10.9.5 heruntergeladen, indem ich brew install mongodb getan habe.Ich möchte nicht mongod mit `sudo mongod` starten.

Ich versuchte mongod vom Terminal zu laufen und es sagte „nein/data/db“ so dass ich es mit sudo mkdir /data und sudo mkdir /data/db erstellt.

Running mongod jetzt bekomme ich "Kann nicht erstellen/öffnen Sperrdatei: /data/db/mongod.lock errno: 13 Berechtigung verweigert", aber ich kann es völlig in Ordnung mit sudo mongod ausführen.

Wie kann ich es so machen, dass ich mongod nicht mit sudo laufen lassen muss, sondern einfach so einfach mongod?

(ich hatte es so, dass auf meinem letzten Computer, aber kann mich nicht erinnern, was ich überhaupt tat, und dass Computer sowieso alles vermasselt wurde.)

Antwort

4

Einfach es Beginnen Sie mit

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

nach Sie haben ein

mkdir ~/.mongodb 

das Problem ist, dass die Standard dbpath /data/mongodb wurde für root erstellt.

Eine andere Möglichkeit wäre eine

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

zu tun und mongod mit den Standardpfade laufen.

Als Alternative zur direkten Ausführung von MongoDB unter OSX können Sie sich auch m202docker ansehen, mit der Sie MongoDB in einer (dünnen) virtualisierten Umgebung ausführen können. Es gibt auch andere Docker-Images für MongoDB.

Haftungsausschluss: habe ich die m202docker Bild, so bin ich voreingenommen propably

7

Das ist für mich gearbeitet:

sudo chmod -R 777 /data/db 

dann

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

Der -R der Befehl rekursiv macht; Ich hatte zuvor beide sudo chmod 777 /data/db und sudo chown `id -u` /data/db wie in anderen StackOverflow Antworten angewiesen versucht, aber sie haben versagt.

(PS Es tut mir leid, ich weiß, dass dies eine sehr alte Frage ist, aber ich habe es gefunden, als ich nach einer Antwort auf mein Problem suchte und ich dachte, ich würde das hier für jeden machen Ich bin mir nicht sicher, welcher dieser beiden Befehle den Unterschied machte, aber es hat funktioniert.)

Verwandte Themen