Wie ändere ich den Standard-Speicherort von mongodb?
Ich installierte MongoDB auf Yosemite mit brew. Ich verstehe, dass der Standard-Speicherort ist /data/db. Ich möchte dies ändern, um Standort /Volumes/Data/mongodb, so dass, wenn ich laufen 'mongod", es wählen Sie die Datenbanken in /Volumes/Data/mongodb standardmäßig. Ich habe versucht, die Bearbeitung der mongod.conf-Datei, und ich habe
storage:
dbPath: /Volumes/Data/mongodb
Allerdings, wenn ich laufen 'mongod -', es gibt mir die Meldung:
ERROR: dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
Wenn ich mongod die --dbpath argument, es funktioniert gut, aber ich will, dass es funktioniert standardmäßig. Warum wird es angezeigt, dass mein mongod.conf-Datei ist nicht gehorchte. Die Suche auf google, es scheint, die conf-Datei in der Installation in verschiedenen Orten je nach Betriebssystem und Installation-Methode. Mit db.serverCmdLineOpts() gibt:
{
"argv" : [
"/usr/local/opt/mongodb/bin/mongod",
"--config",
"/usr/local/etc/mongod.conf"
],
"parsed" : {
"config" : "/usr/local/etc/mongod.conf",
"net" : {
"bindIp" : "127.0.0.1"
},
"storage" : {
"dbPath" : "/Volumes/Data/mongodb"
},
"systemLog" : {
"destination" : "file",
"logAppend" : true,
"path" : "/usr/local/var/log/mongodb/mongo.log"
}
},
"ok" : 1
}
- Nach der manual, Lagerung.dbPath nicht korrekt Aussehen. Aber die
--dbpath
Kommandozeilen-argument ist nicht wirklich schlecht. Sie können immer einen alias. 🙂 - Nicht vertraut mit Yosemiti/brauen. Wenn Sie ändern die dbPath /Volumes/Data/mongodb, meinst du Sie bearbeitet die /etc/mongodb.conf?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Notes
/Volumes
ist die Art von vorbehalten, die ein Verzeichnis für die Montage-Laufwerke und-bundles und sollte nicht direkt gearbeitet.Grundsätzlich gibt es zwei Orte, die MongoDB-Daten in OS X. Leider, weder brauen noch MacPorts gehorchen dem File-Hierarchy-Standard*, das wird auch angenommen von der BSD-was ist das Fundament von OS X.
Lösung 1: Sie möchten, dass die Daten zugänglich, die von allen Benutzern von OS X
Seit mongod gestartet wird
/usr/local
Teilbaum, so ist dies unsere Eltern. Aber da die Variablen Daten gehört zu/var
wir brauchen, um die lokalen Baum. Also unsere Basis-Pfad für die Daten/var/local/lib
. Es ist mongoldb Daten, so können Sie entweder platzieren Sie es inmongo
(weil das Paket basename) odermongodb
(wegen der vendor-name) oder auchmongod
(weil der daemon-name). Das ist im Grunde Geschmackssache, aber würd ich mich mit dem Verkäufer. So Ihr dbpath wäre/var/local/lib/mongodb
.Lösung 2: Nur Sie haben Zugriff auf die Daten
Legen Sie die Daten in Ihrem home-Verzeichnis.
Gut, im Grunde können Sie tun, was Sie wollen es, aber im Allgemeinen würde ich ablegen von Daten in einem versteckten Verzeichnis (beginnen mit einem Punkt), so dass es nicht überladen Ihre Finder. So etwas wie
$HOME/.mongodb
Diese Lösung ist nicht wirklich sauber, da die software ausgeführt wird, die mit der öffentlichen Teilbaum und die Daten werden in einem user-Verzeichnis.
Erweiterung beider Lösungen
Wenn Sie möchten Ihre Daten in ein volume oder (selten) bundle, erstellen Sie einfach einen symbolischen Link von der richtigen Lage, um die Lautstärke, erstellen Sie einfach einen symlink erstellen, anstatt ein Verzeichnis. Beispiel für Lösung 1:
* Gut, es ist zu argumentieren, dass seit MacPorts installiert unter /opt, es technisch funktioniert (obwohl es imho lieber gehören nach /usr/local in den ersten Platz)
AFAIK mongod muss konfiguriert werden, bevor Sie arbeiten. Es gibt 2 Möglichkeiten, um Konfigurationen festzulegen.
durch Befehl Linie Argumente. was ist das --dbpath parameter aus, den Sie Hinzugefügt. zum Beispiel:
Sagen
Ich nehme an, Sie meinen, Sie wollen start-daemon auf dem system-Neustart. Also die config-Datei, die Sie tatsächlich mit der angegeben ist, in die daemon-Skript. Zum Beispiel in CentOS finden Sie daemon-Skript in
/etc/init.d/mongod
ist, wo die Linieentscheidet, welche config-Datei, die Sie verwenden. So möchten Sie vielleicht finden Sie Ihre daemon-Skript und überprüfen Sie es zuerst.
Wenn das nicht deine situation, vielleicht ist Sie gerade heruntergeladen haben, mongodb von irgendwo und entpackt es auf Ihrem system, und Sie beginnen, mongodb mit nichts aber:
Diese Weise ich denke, die Standard-Speicherort der mongod.conf beschlossen, durch die Zusammenstellung der Parameter. Das bedeutet, wenn Sie es ändern wollen, müssen Sie den Quellcode herunterladen und selbst kompilieren.