Nuevo en MongoDB No se puede ejecutar el comando mongo


93

Estaba intentando ejecutar 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

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


Votado en contra, ya que la lectura de los registros no se puede pedir demasiado, incluso a alguien que es nuevo. La línea justo antes de que comience el cierre indica claramente lo que está sucediendo.
Markus W Mahlberg

Respuestas:


76

Creo que su salida de registro lo dice claramente;

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

Puede simplemente crear este directorio o mejor definirlo como un valor de configuración dentro de su archivo de configuración y 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 familiarizado con el desarrollo de software ..
kirpit

14
De forma predeterminada, MongoDB busca en la carpeta: c: \ data \ db, por lo que también puede crear esa estructura de directorio, y el proceso de la base de datos de MongoDB no le gritará.
Miguel Sevilla

1
Coloqué data \ db en muchos lugares y utilicé la opción --dbpath en vano. Lo único que funcionó fue crear la carpeta c: \ data \ db como sugirió Miguel Sevilla.
brybott

165

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

Por defecto, MongoDB almacenará datos en / data / db, 
pero no creará automáticamente ese directorio. Para crearlo, haz lo siguiente:

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

También puede decirle a MongoDB que use un directorio de datos diferente,
con la opción --dbpath.

Para obtener información más detallada, vaya a la página wiki de MongoDB.


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

También es de destacar que me acabo de enterar de esto hoy, si inicia mongo service mongodb start, lee automáticamente el /etc/mongod.confarchivo y no necesita especificar sus variables --dbpath o --config cada vez que comienza. Esto definitivamente funciona para la instalación de 10gen, pero no estoy seguro de otros porque no los he probado.
sin límites

27

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

mongod --dbpath data/db

Si el directorio no existe, fallará en la versión 4.2 de mongo
Tono Nam


5

Para Windows 7

Puede especificar una ruta alternativa para \data\dbcon la configuración dbpath para mongod.exe ,

como en el siguiente ejemplo:

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

o

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


4

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

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


2

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

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

2

Después de varios intentos, esto me funciona en Windows 7 env:

Inicialmente, el directorio en el que ha copiado todas las fuentes de 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 agregar el directorio de datos y el directorio db anidado (data / db) La vista final debería verse así:

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

Simplemente escriba en el directorio donde existen las fuentes de MongoDB y los directorios de datos / db este comando:

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

1

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


1

Cree el directorio data / db en su partición principal (Windows):

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

y luego vaya 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 símbolo del sistema diferente, ejecute Mongo:

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

(RECUERDA QUE DEBES MANTENER ESA OTRA VENTANA ABIERTA)

Esto resolvió mi problema.


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

1

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


1

Debería crear un startup.batsi está usando Windows, mucho más conveniente:

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

Y solo dbclick startup.bat y mongodb se ejecutarán usando C:\mongodb\datacomo carpeta de datos.


0

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

Ahora simplemente inicie 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)

Luego se ejecutará como servicio en segundo plano.


0

Si está usando Windows 7 / 7+.

Aquí hay algo que puedes probar.

Verifique si la instalación es correcta en el PANEL DE CONTROL de su computadora.

Ahora ve al directorio y donde has instalado MongoDB. Idealmente, estaría en

C: \ Archivos de programa \ MongoDB \ Server \ 3.6 \ bin

Luego, en el símbolo del sistema o en la terminal del IDE. Navegue a la ruta anterior (idealmente su archivo guardado) y escriba

mongod --dbpath

¡Debería funcionar bien!


0

El enfoque más simple dado por el archivo de ayuda README de mongo

CORRIENDO

Para las opciones de la línea de comando invocar:

$ ./mongod --help

Para ejecutar una base de datos de un solo servidor:

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

Si está trabajando con Windows, vaya a su directorio donde tiene mongo.exe

usa los siguientes comandos, (estoy compartiendo el mío)

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

Ahora necesita ejecutar otro indicador de CMD e ir al directorio donde tiene mongo y simplemente ejecutarlo

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

Espero que haya ayudado :)

Si no funciona, ejecute CMD como administrador

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.