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)?

Sophie
quelle
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.

Kirpit
quelle
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.

Fatih Acet
quelle
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
Socratees Samipillai
quelle
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.

Dicemaster
quelle
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 .

Zeeshan Akhter
quelle
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

Andrew Orsich
quelle
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*
dcparham
quelle
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
Artem Zaika
quelle
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.

Siva Karthikeyan
quelle
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.

Shobhit Sharma
quelle
>> 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"

Raghav
quelle
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 .

laike9m
quelle
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.

Girish Gupta
quelle
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!

Rakesh Deshpande
quelle
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

Ash Upadhyay
quelle