it-swarm.com.de

MongoDB funktioniert nicht. "FEHLER: dbpath (/ data / db) existiert nicht."

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. Irgendwelche 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 auf meinem Computer aufgehört zu arbeiten.

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: failed to connect to [localhost:27017]

Jede Hilfe wäre sehr dankbar!

64
user3810163

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

181
lpappone

Sie müssen das Verzeichnis unter root/data/db erstellen oder einen anderen Pfad mit dem folgenden Befehl festlegen:

mongod --dbpath /srv/mongodb/

Siehe Beispiellink

14
Muhammad Ali

Ich habe das Problem gelöst mit:

Sudo mongod --dbpath=/var/lib/mongodb und dann mongo, um auf die mongodb-Shell zuzugreifen.

6
gabrielhws

Ändern Sie den Benutzer des neuen Datenverzeichnisses:

chown mongodb [rute_directory]

Und versuchen Sie es ein anderes Mal, um den Mongo-Dienst zu starten

service mongod starten

Ich löse das gleiche Problem damit.

2
Raugaral

Daemons (die normalerweise mit d enden) werden normalerweise als Dienste gestartet. Durch das Starten des Dienstes (Daemon) kann Mongodb wie vorgesehen arbeiten (ohne Berechtigungsänderungen, wenn es gut in Ihre Distribution integriert ist). Ich starte es mit dem Dienst namens mongodb, anstatt mongod direkt zu starten - auf der Distribution mit systemd enable beim Start und dann wie folgt:

Sudo systemctl enable mongodb    
Sudo systemctl start mongodb

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 / ) stattdessen ausführen:

Sudo service mongodb enable
Sudo service mongodb start

Wenn Sie eine Distribution mit rc ("run commands") haben, 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 (prüfen Sie, ob Ihre Version auf systemd umgestellt wurde, ansonsten siehe unten):

  • füge die folgende Zeile zu /etc/rc.conf hinzu:

    mongod_enable = "JA"

  • dann:

    Sudo service mongod start

Nach dem Starten des Dienstes kann ein Benutzer ohne Berechtigung mongo verwenden, und jeder Benutzer verfügt über separate Daten.

1
poikilos