Ich erhalte die folgende Fehlermeldung, wenn ich versuche, "mongod" im Terminal auszuführen. Ich habe versucht, den Computer zu deinstallieren, neu zu installieren und neu zu starten. Alle Vorschläge, wie man es zum Laufen bringt, wären erstaunlich.
ERROR:
dbpath (/data/db) does not exist.
Create this directory or give existing directory in --dbpath.
See http://dochub.mongodb.org/core/startingandstoppingmongo
Randnotiz: Node hat ungefähr zur gleichen Zeit, als ich diesen Fehler bekam, auch die Arbeit an meinem Computer eingestellt.
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]
Jede Hilfe wäre sehr dankbar!
Antworten:
Dies sollte funktionieren, um sicherzustellen, dass das Verzeichnis an der richtigen Stelle eingerichtet ist, damit Mongo es finden kann:
sudo mkdir -p /data/db/
sudo chown `id -u` /data/db
quelle
sudo
das Verzeichnis erstellen. Diessudo
bedeutet, dass Sie den folgenden Befehl als Root- Benutzer ausführen , der vollen Zugriff auf Ihr System hat.Sie müssen das Verzeichnis unter root / data / db erstellen oder einen anderen Pfad mit dem folgenden Befehl festlegen:
Siehe den Beispiellink
quelle
Ich habe das Problem gelöst mit:
sudo mongod --dbpath=/var/lib/mongodb
und dann Mongo, um auf die Mongodb-Shell zuzugreifen.quelle
Ändern Sie den Benutzer des neuen Datenverzeichnisses:
Versuchen Sie es ein anderes Mal, um den Mongo-Dienst zu starten
Damit löse ich das gleiche Problem.
quelle
Daemons (normalerweise endend mit d) werden normalerweise als Dienste gestartet. Durch das Starten des Dienstes (Daemon) kann mongodb wie geplant funktionieren (ohne Berechtigungsänderungen, wenn es sich gut in Ihre Distribution integrieren lässt). Ich starte es mit dem Dienst mongodb, anstatt mongod direkt zu starten - in der Distribution mit systemd enable beim Start und dann wie folgt ausführen:
oder in der Distribution mit Upstart (wenn Sie / etc / init haben) oder init (wenn Sie /etc/init.d haben) ( https://www.tecmint.com/systemd-replaces-init-in-linux/ ) Führen Sie stattdessen Folgendes aus:
Wenn Sie eine Distribution mit rc ("Befehle ausführen") wie Gentoo (Einstellungen in /etc/init.d) ( https://forums.gentoo.org/viewtopic-t-854138-start-0.html ) ausführen ::
rc-update add mongodb default /etc/init.d/mongodb start
In einer Distribution / Version von FreeBSD, die noch rc hat (überprüfen Sie, ob Ihre Version auf systemd umgestellt wurde, andernfalls siehe unten):
Fügen Sie /etc/rc.conf die folgende Zeile hinzu:
mongod_enable = "JA"
dann:
sudo service mongod start
Nach dem Starten des Dienstes kann ein nicht privilegierter Benutzer mongo verwenden, und jeder Benutzer verfügt über separate Daten.
quelle