Nuovo in MongoDB Impossibile eseguire il comando mongo


93

Stavo cercando di eseguire MongoDB:

   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

Stavo guardando http://www.mongodb.org/display/DOCS/Quickstart+Windows e seguendo le istruzioni. Qualcuno potrebbe dirmi qual è il problema con l'esecuzione di MongoDB (sto usando Windows 7)?


Downvoted, poiché leggere i log non può essere chiesto troppo, anche a qualcuno che è nuovo. La riga appena prima dell'inizio dell'arresto indica chiaramente cosa sta succedendo.
Markus W Mahlberg

Risposte:


76

Penso che il tuo output di log lo indichi chiaramente;

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

Puoi semplicemente creare questa directory o meglio definirla come un valore di configurazione all'interno del tuo file di configurazione, quindi usarla come mongod -f C:\path\to\your\mongodb.conf.


6
nessun problema. sbarazzati di quella cosa di windowz, che ti renderà più familiare allo sviluppo del software ..
kirpit

14
Per impostazione predefinita, MongoDB cerca nella cartella: c: \ data \ db, quindi potresti anche creare quella struttura di directory e il processo del database MongoDB non ti sgriderà.
Miguel Sevilla

1
Ho posizionato data \ db in molti posti e ho utilizzato senza successo l'opzione --dbpath. L'unica cosa che ha funzionato è stata la creazione della cartella c: \ data \ db come suggerito da Miguel Sevilla.
Brybott

165

Dopo aver installato MongoDB dovresti creare manualmente una cartella di dati.

Per impostazione predefinita MongoDB memorizzerà i dati in / data / db, 
ma non creerà automaticamente quella directory. Per crearlo, fai:

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

Puoi anche dire a MongoDB di utilizzare una directory di dati diversa,
con l'opzione --dbpath.

Per informazioni più dettagliate vai alla pagina wiki di MongoDB.


3
Questa dovrebbe essere la risposta: ha funzionato ed è stato più utile di "Leggere la documentazione".
Dan

Inoltre, l'ho scoperto oggi, se avvii mongo con service mongodb startesso legge automaticamente il /etc/mongod.conffile e non hai bisogno di specificare le tue variabili --dbpath o --config ogni volta che inizi! Funziona sicuramente per l'installazione 10gen ma non sono sicuro degli altri perché non li ho provati.
boundless08

27

Specificare il percorso del database in modo esplicito in questo modo e vedere se questo risolve il problema.

mongod --dbpath data/db

Se la directory non esiste, non funzionerà con la versione 4.2 di mongo
Tono Nam l'

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

eseguire il codice sopra, questo avvierà il server.


5

Per Windows 7

È possibile specificare un percorso alternativo per \data\dbcon l' impostazione dbpath per mongod.exe ,

come nell'esempio seguente:

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

o

è possibile impostare dbpath tramite il file di configurazione .


4

Verificare che esista il percorso dei file di dati del database;):

Sun 6 novembre 18:48:37 [initandlisten] un'eccezione in initAndListen: 10296 DBPATH (/ data / db) non esiste , di terminazione


2

Questo ha funzionato per me (se si applica che vedi anche il file di blocco):

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

2

Dopo diversi tentativi questo funziona per me su Windows 7 env .:

Inizialmente la directory in cui hai copiato tutte le sorgenti MongDB ha questa vista:

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

Tutto ciò di cui hai bisogno è aggiungere la directory dei dati e la directory db annidata (data / db) La vista finale dovrebbe essere simile a questa:

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

Quindi digita semplicemente nella directory in cui esistono origini MongoDB e directory data / db questo comando:

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

1

Controlla anche se hai installato Mongo come servizio Windows e se è in esecuzione. Anche questo è importante. Potrebbe esserci un conflitto di porte a causa di ciò.


1

Crea la directory data / db nella tua partizione principale (Windows):

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

e poi vai su mongo_directory / bin ed esegui mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

NON CHIUDERE QUESTA FINESTRA

Ora in una finestra del prompt dei comandi diversa eseguire Mongo:

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

(RICORDA CHE DEVI TENERE APERTA L'ALTRA FINESTRA)

Questo ha risolto il problema per me.


>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // nota: net start potrebbe richiedere l'autorizzazione
dell'amministratore

1

creare la struttura della cartella data / db nella directory di lavoro e quindi avviare mongodb usando "mongod --dbpath data / db" funziona perfettamente


1

Dovresti creare un startup.batse stai usando Windows, molto più conveniente:

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

E solo dbclick startup.bat e mongodb verranno eseguiti utilizzando C:\mongodb\datacome cartella dati.


0

Hai solo bisogno di creare una directory in C :. come C: \ data \ db \

Ora avvia 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)

Verrà quindi eseguito come servizio in background.


0

Se utilizzi Windows 7 / 7+.

Ecco qualcosa che puoi provare.

Verificare che l'installazione sia corretta nel PANNELLO DI CONTROLLO del computer.

Ora vai alla directory e dove hai installato MongoDB. Idealmente, sarebbe in

C: \ Programmi \ MongoDB \ Server \ 3.6 \ bin

Quindi o nel prompt dei comandi o nel terminale dell'IDE. Vai al percorso sopra (idealmente il tuo file di salvataggio) e digita

mongod --dbpath

Dovrebbe funzionare bene!


0

L'approccio più semplice fornito dal file della guida README di mongo

IN ESECUZIONE

Per le opzioni della riga di comando, richiamare:

$ ./mongod --help

Per eseguire un singolo database del server:

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

Se stai lavorando con Windows, vai nella tua directory in cui hai mongo.exe

usa i seguenti comandi, (condivido il mio)

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

Ora devi eseguire un altro prompt di CMD e andare nella directory in cui hai mongo ed eseguirlo

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

Spero che abbia aiutato :)

Se non funziona, esegui CMD come amministratore

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.