Neu in MongoDB Befehl mongo kann nicht ausgeführt werden


93

Ich habe versucht, MongoDB auszuführen:

   E:\mongo\bin>mongod
    mongod --help for help and startup options
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 [initandlisten] MongoDB starting : pid=7108 port=27017 dbpath=/data/db 32-bit host=pykhmer-PC
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Sun Nov 06 18:48:37 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Sun Nov 06 18:48:37 [initandlisten] **       with --journal, the limit is lower
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] db version v2.0.1, pdfile version 4.5
    Sun Nov 06 18:48:37 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684
    Sun Nov 06 18:48:37 [initandlisten] build info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_42
    Sun Nov 06 18:48:37 [initandlisten] options: {}
    Sun Nov 06 18:48:37 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
    Sun Nov 06 18:48:37 dbexit:
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close listening sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to flush diaglog...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: waiting for fs preallocator...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: closing all files...
    Sun Nov 06 18:48:37 [initandlisten] closeAllFiles() finished
    Sun Nov 06 18:48:37 dbexit: really exiting now

E:\mongo\bin>mongo
MongoDB shell version: 2.0.1
connecting to: test
Sun Nov 06 18:48:42 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

E:\mongo>ls
GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  bin  data

Ich habe mir http://www.mongodb.org/display/DOCS/Quickstart+Windows angesehen und die Anweisungen befolgt. Kann mir jemand sagen, wo das Problem beim Ausführen von MongoDB liegt (ich verwende Windows 7)?


Abgestimmt, da das Lesen der Protokolle auch von jemandem, der neu ist, nicht zu viel verlangt werden kann. Die Zeile kurz vor dem Start des Herunterfahrens gibt deutlich an, was gerade passiert.
Markus W Mahlberg

Antworten:


76

Ich denke, Ihre Protokollausgabe gibt es klar an;

exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating

Sie können dieses Verzeichnis einfach erstellen oder besser als Konfigurationswert in Ihrer Konfigurationsdatei definieren und dann als verwenden mongod -f C:\path\to\your\mongodb.conf.


6
Keine Bange. Befreien Sie sich einfach von dieser Windowsz-Sache, die Sie mit der Softwareentwicklung vertraut macht.
Kirpit

14
Standardmäßig sucht MongoDB im Ordner: c: \ data \ db, sodass Sie auch nur diese Verzeichnisstruktur erstellen können und der MongoDB-Datenbankprozess Sie nicht anschreit.
Miguel Sevilla

1
Ich habe data \ db an vielen Stellen platziert und die Option --dbpath ohne Erfolg verwendet. Das einzige, was funktionierte, war das Erstellen des Ordners c: \ data \ db, wie Miguel Sevilla vorgeschlagen hatte.
Brybott

165

Nach der Installation der MongoDB sollten Sie manuell einen Datenordner erstellen.

Standardmäßig speichert MongoDB Daten in / data / db, 
Dieses Verzeichnis wird jedoch nicht automatisch erstellt. Um es zu erstellen, gehen Sie wie folgt vor:

$ sudo mkdir -p / data / db /
$ sudo chown `id -u` / data / db

Sie können MongoDB auch anweisen, ein anderes Datenverzeichnis zu verwenden.
mit der Option --dbpath.

Weitere Informationen finden Sie auf der MongoDB-Wiki-Seite.


3
Dies sollte die Antwort sein - es hat funktioniert und war hilfreicher als "Dokumentation lesen".
Dan

Bemerkenswert ist auch, dass ich dies heute herausgefunden habe, wenn Sie mongo service mongodb startdamit starten, liest es automatisch die /etc/mongod.confDatei und Sie müssen nicht jedes Mal Ihre --dbpath- oder --config-Variablen angeben , wenn Sie starten! Dies funktioniert definitiv für die 10gen-Installation, aber ich bin mir bei anderen nicht sicher, da ich sie nicht ausprobiert habe.
boundless08

27

Geben Sie den Datenbankpfad explizit so an und prüfen Sie, ob das Problem dadurch behoben wird.

mongod --dbpath data/db

Wenn das Verzeichnis nicht existiert, schlägt es unter Mongo Version 4.2
Tono Nam

21
mongod --dbpath "c://data/db"

Führen Sie den obigen Code aus, um den Server zu starten.


5

Für Windows 7

Sie können einen alternativen Pfad für \data\dbmit der Einstellung dbpath für mongod.exe angeben .

wie im folgenden Beispiel:

c:\mongodb\bin\mongod.exe --dbpath c:\mongodb\data\db

oder

Sie können dbpath über die Konfigurationsdatei festlegen .


4

Überprüfen Sie, ob der Pfad zu Datenbankdatendateien vorhanden ist;):

Sun Nov 06 18:48:37 [initandlisten] Ausnahme in initAndListen: 10296 dbpath (/ data / db) existiert nicht und wird beendet


2

Dies hat bei mir funktioniert (wenn es zutrifft, dass Sie auch die Sperrdatei sehen):

first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start 
then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*

2

Nach mehreren Versuchen funktioniert dies bei mir unter Windows 7 env.:

Das anfängliche Verzeichnis, in das Sie alle MongDB-Quellen kopiert haben, hat folgende Ansicht:

bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

Alles , was Sie brauchen , ist hinzuzufügen , Datenverzeichnis und db - Verzeichnis verschachtelt (data / db) Endgültige Ansicht soll wie folgt aussehen:

data
bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

Geben Sie dann einfach das Verzeichnis ein, in dem MongoDB-Quellen und Daten- / DB-Verzeichnisse vorhanden sind:

C:\my_mongo_dir\bin>mongod --dbpath .\data\db

1

Überprüfen Sie auch, ob Sie den Mongo als Windows-Dienst installiert haben und ob er ausgeführt wird. Das ist auch wichtig. Aus diesem Grund kann es zu Portkonflikten kommen.


1

Erstellen Sie das Verzeichnis data / db in Ihrer Hauptpartition (Windows):

C:\> mkdir \data
C:\> mkdir \data\db

und gehen Sie dann zu Ihrem mongo_directory / bin und führen Sie mongod.exe aus:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

SCHLIESSEN SIE DIESES FENSTER NICHT

Führen Sie nun in einem anderen Eingabeaufforderungsfenster Mongo aus:

C:\> cd \my_mongo_dir\bin
C:\my_mongo_dir\bin> mongo

(Denken Sie daran, dass Sie das andere Fenster offen halten müssen.)

Dies löste das Problem für mich.


>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // Hinweis: net start benötigt möglicherweise Administratorrechte
damphat

1

Erstellen Sie die Ordnerstruktur data / db im Arbeitsverzeichnis und starten Sie mongodb mit "mongod --dbpath data / db"


1

Sie sollten eine erstellen, startup.batwenn Sie Windows verwenden, viel bequemer:

C:\mongodb\mongodb-win32-x86_64-eiditon\bin\mongod.exe --dbpath C:\mongodb\data

Und nur dbclick startup.bat und mongodb werden mit C:\mongodb\dataals Datenordner ausgeführt .


0

Sie müssen nur ein Verzeichnis in C: erstellen. als C: \ data \ db \

Starten Sie jetzt einfach mongoDB:

C:\Users\gi.gupta>"c:\Program Files\MongoDB\Server\3.2\bin\mongod.exe"
2016-05-03T10:49:30.412+0530 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] MongoDB starting : pid=7904 port=27017 dbpath=C:\data\db\ 64-bit host=GLTPM-W036
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] db version v3.2.6
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] modules: none
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] build environment:
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] options: {}
2016-05-03T10:49:30.427+0530 I -        [initandlisten] Detected data files in C:\data\db\ created by the 'wiredTiger' storage engine, so setting the active storage engine to
2016-05-03T10:49:30.429+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(f
chive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-05-03T10:49:30.998+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-05-03T10:49:30.998+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'C:/data/db/diagnostic.data'
2016-05-03T10:49:31.000+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-05-03T10:49:40.766+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:57504 #1 (1 connection now open)

Es wird dann als Dienst im Hintergrund ausgeführt.


0

Wenn Sie Windows 7/7+ verwenden.

Hier ist etwas, das Sie ausprobieren können.

Überprüfen Sie, ob die Installation im CONTROL PANEL Ihres Computers ordnungsgemäß ist.

Gehen Sie nun zum Verzeichnis und wo Sie die MongoDB installiert haben. Im Idealfall wäre es in

C: \ Programme \ MongoDB \ Server \ 3.6 \ bin

Dann entweder in der Eingabeaufforderung oder im Terminal der IDE. Navigieren Sie zum obigen Pfad (idealerweise Ihre Sicherungsdatei) und geben Sie ein

mongod --dbpath

Es sollte in Ordnung funktionieren!


0

Der einfachste Ansatz der mongo README-Hilfedatei

LAUFEN

Rufen Sie für Befehlszeilenoptionen Folgendes auf:

$ ./mongod --help

So führen Sie eine einzelne Serverdatenbank aus:

$ sudo mkdir -p /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help

Wenn Sie mit Windows arbeiten, wechseln Sie in Ihr Verzeichnis, in dem Sie mongo.exe haben

benutze die folgenden Befehle (ich teile meine)

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data\db

C:\Program Files\MongoDB\Server\3.6\bin>mongod ## this will start your mongoDB server

Jetzt müssen Sie eine weitere CMD-Eingabeaufforderung ausführen und in das Verzeichnis gehen, in dem Sie Mongo haben, und es einfach ausführen

C:\Program Files\MongoDB\Server\3.6\bin>mongo ## this will start your mongoDB client

Hoffe es hat geholfen :)

Wenn es nicht funktioniert, führen Sie CMD als Administrator aus

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.