2011-11-06 22 views
80

yo estaba tratando de ejecutar MongoDB:Nuevo en MongoDB No se puede ejecutar comandos mongo

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 

que estaba viendo http://www.mongodb.org/display/DOCS/Quickstart+Windows y siguiendo las instrucciones. ¿Alguien podría decirme cuál es el problema con la ejecución de MongoDB (estoy usando Windows 7)?

+0

Downvoted, ya que leer los registros no se puede pedir demasiado, incluso a alguien nuevo. La línea justo antes de que comience el apagado indica claramente lo que está sucediendo. –

Respuesta

62

Creo que su salida de registro lo dice claramente;

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

simplemente puede crear este directorio o mejor a define it como un valor de configuración en el archivo de configuración luego usarlo como mongod -f C:\path\to\your\mongodb.conf.

+6

sin preocupaciones. simplemente deshazte de esa cosa de windowz, que te hará más familiar para el desarrollo de software. – kirpit

+10

Por defecto, MongoDB busca en la carpeta: c: \ data \ db, así que también puedes simplemente crear esa estructura de directorio y la base de datos MongoDB proceso no le gritará. –

+1

Coloqué datos \ db en muchos lugares, además de utilizar la opción --dbpath en vano. Lo único que funcionó fue crear la carpeta c: \ data \ db como sugirió Miguel Sevilla. – brybott

4

Comprobar que existe la ruta de los archivos de datos de la base de datos;):

Dom Nov 06 18:48:37 [initandlisten] excepción en initAndListen: 10296 dbpath (/ data/db) no lo hace existe, terminando

22

Especifique la ruta de la base de datos explícitamente como tal, y vea si eso resuelve el problema.

mongod --dbpath data/db 
+1

¿trabajó Socratees cómo agregar esa ruta como predeterminado? – Notepad

155

Después de instalar el MongoDB, debe crear manualmente una carpeta de datos.

 
By default MongoDB will store data in /data/db, 
but it won't automatically create that directory. To create it, do: 

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

You can also tell MongoDB to use a different data directory, 
with the --dbpath option. 

For more detailed information go to MongoDB wiki page.

+3

+1 que resolvió mi problema ... –

+3

Esta debería ser la respuesta: funcionó y fue más útil que "Leer la documentación". – Dan

+0

También cabe destacar que hoy lo descubrí, si inicias mongo con 'service mongodb start' automáticamente lee el archivo'/etc/mongod.conf' y no necesitas especificar tu --dbpath o - variables de configuración cada vez que comiences! Esto definitivamente funciona para la instalación de 10gen, pero no estoy seguro de los demás ya que no los he probado. – boundless08

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

ejecutar el código anterior, se iniciará el servidor.

1

crear el directorio de datos/db en sus principales (ventanas) de partición:

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

y luego ir a su mongo_directory/bin y ejecute mongod.exe:

C:\> cd \my_mongo_dir\bin 

C:\my_mongo_dir\bin> mongod 

No cierre ESTA vENTANA

Ahora, en una ventana de comandos diferentes ejecutar Mongo:

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

(RECUERDE QUE TIENE QUE MANTENER LA OTRA VENTANA ABIERTA)

Esto me ha solucionado el problema.

+0

>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // nota: net start puede necesitar permiso de administrador – damphat

1

También compruebe si ha instalado el Mongo como un servicio de Windows y si se está ejecutando. Eso también es importante. Puede haber conflicto de puertos debido a eso.

2

Esto funcionó para mí (si se aplica que también se puede ver el archivo de bloqueo):

first>[email protected]:/var/lib/mongodb$ sudo service mongodb start 
then >[email protected]:/var/lib/mongodb$ sudo rm mongod.lock* 
1

crear datos de la estructura de carpetas/db en el directorio de trabajo y luego la puesta en marcha mongodb usando "mongod --dbpath datos/db" funciona bien

2

Después de varios intentos esto funciona para mí en Windows 7 env .:

Inicialmente directorio en el que se han copiado todas las fuentes MongDB tiene dicha 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 

Todo lo que necesita es añadir datos directorio y db directorio anidado (datos/db) Vista final debería tener este aspecto:

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 

que simplemente escribir en el directorio donde MongoDB Las fuentes y los datos/dir. db existen este comando:

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

Debería crear un startup.bat si se está utilizando Windows, mucho más conveniente:

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

Y justo startup.bat dbclick y mongodb se ejecutarán utilizando C:\mongodb\data como su carpeta de datos.

5

Para Windows 7

Puede especificar una ruta alternativa para \data\db con el ajuste dbpath para mongod.exe,

como en el siguiente ejemplo:

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

o

puede establece dbpath a través del archivo de configuración.

0

Solo necesita crear un directorio en C :. como C: \ data \ db \

Ahora acaba de empezar 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) 

A continuación, se ejecute como un servicio en segundo plano.

Cuestiones relacionadas