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.