Novo no MongoDB Não é possível executar o comando mongo

93

Eu estava tentando executar o 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

Eu estava olhando em http://www.mongodb.org/display/DOCS/Quickstart+Windows e seguindo as instruções. Alguém poderia me dizer qual é o problema com a execução do MongoDB (estou usando o Windows 7)?

Sophie
fonte
Não votado, visto que ler os logs não pode ser muito solicitado, mesmo de alguém que é novo. A linha antes do início do desligamento indica claramente o que está acontecendo.
Markus W Mahlberg

Respostas:

76

Acho que sua saída de log afirma isso claramente;

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

Você pode simplesmente criar este diretório ou melhor defini-lo como um valor de configuração dentro de seu arquivo de configuração e usá-lo como mongod -f C:\path\to\your\mongodb.conf.

Kirpit
fonte
6
não se preocupe. apenas se livre dessa coisa do windowz, que o tornará mais familiarizado com o desenvolvimento de software.
kirpit
14
Por padrão, o MongoDB procura na pasta: c: \ data \ db, portanto, você também pode simplesmente criar essa estrutura de diretório e o processo de banco de dados MongoDB não gritará com você.
Miguel Sevilla
1
Coloquei data \ db em muitos lugares e também usei a opção --dbpath sem sucesso. A única coisa que funcionou foi criar a pasta c: \ data \ db como Miguel Sevilla sugeriu.
brybott
165

Depois de instalar o MongoDB, você deve criar manualmente uma pasta de dados.

Por padrão, o MongoDB armazenará dados em / data / db, 
mas não criará automaticamente esse diretório. Para criá-lo, faça:

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

Você também pode dizer ao MongoDB para usar um diretório de dados diferente,
com a opção --dbpath.

Para obter informações mais detalhadas, vá para a página wiki do MongoDB.

Fatih Acet
fonte
3
Esta deve ser a resposta - funcionou e foi mais útil do que "Leia a documentação".
Dan
Também digno de nota, acabei de descobrir isso hoje, se você iniciar o mongo com service mongodb startele lê automaticamente o /etc/mongod.confarquivo e você não precisa especificar suas variáveis ​​--dbpath ou --config cada vez que você iniciar! Isso definitivamente funciona para a instalação do 10gen, mas não tenho certeza sobre os outros, pois não os experimentei.
boundless08
27

Especifique o caminho do banco de dados explicitamente dessa forma e veja se isso resolve o problema.

mongod --dbpath data/db
Socratees Samipillai
fonte
Se o diretório não existir, ele falhará na versão 4.2 do mongo
Tono Nam
21
mongod --dbpath "c://data/db"

execute o código acima, isso iniciará o servidor.

mestre de dados
fonte
5

Para Windows 7

Você pode especificar um caminho alternativo \data\dbcom a configuração dbpath para mongod.exe ,

como no exemplo a seguir:

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

ou

você pode definir dbpath por meio do arquivo de configuração .

Zeeshan Akhter
fonte
4

Verifique se existe caminho para os arquivos de dados do banco de dados;):

Sol 6 de novembro 18:48:37 [initandlisten] excepção em initAndListen: 10296 dbpath (/ dados / db) não existe , de terminação

Andrew Orsich
fonte
2

Isso funcionou para mim (se for o caso que você também veja o arquivo de bloqueio):

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

Depois de várias tentativas, isso funciona para mim no ambiente do Windows 7 :

Inicialmente, o diretório para o qual você copiou todas as fontes do MongDB tem essa visão:

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

Tudo o que você precisa é adicionar o diretório de dados e o diretório db aninhado (data / db). A visualização final deve ser semelhante a esta:

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

Em seguida, simplesmente digite no diretório onde as origens do MongoDB e os diretórios de dados / db existem este comando:

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

Verifique também se você instalou o Mongo como um serviço do Windows e se está em execução. Isso também é importante. Pode haver conflito de porta por causa disso.

Siva Karthikeyan
fonte
1

Crie o diretório data / db em sua partição principal (windows):

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

e então vá para seu mongo_directory / bin e execute mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

NÃO FECHE ESTA JANELA

Agora, em uma janela de prompt de comando diferente, execute o Mongo:

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

(LEMBRE-SE QUE VOCÊ TEM QUE MANTER ESSA OUTRA JANELA ABERTA)

Isso resolveu o problema para mim.

Shobhit Sharma
fonte
>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // nota: net start pode precisar de permissão de administrador
damphat
1

criar dados de estrutura de pastas / db no diretório de trabalho e, em seguida, iniciar mongodb usando "mongod --dbpath data / db" funciona perfeitamente

Raghav
fonte
1

Você deve criar um startup.batse estiver usando o Windows, muito mais conveniente:

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

E apenas dbclick startup.bat e mongodb serão executados usando C:\mongodb\datacomo sua pasta de dados.

laike9m
fonte
0

Você só precisa criar um diretório em C :. como C: \ data \ db \

Agora basta iniciar o 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)

Em seguida, ele será executado como serviço em segundo plano.

Girish Gupta
fonte
0

Se você estiver usando o Windows 7/7 ou 7.

Aqui está algo que você pode tentar.

Verifique se a instalação está correta no PAINEL DE CONTROLE do seu computador.

Agora vá para o diretório e onde você instalou o MongoDB. Idealmente, seria em

C: \ Arquivos de programas \ MongoDB \ Server \ 3.6 \ bin

Em seguida, no prompt de comando ou no terminal do IDE. Navegue até o caminho acima (de preferência seu arquivo salvo) e digite

mongod --dbpath

Deve funcionar bem!

Rakesh Deshpande
fonte
0

A abordagem mais simples fornecida pelo arquivo de ajuda README do mongo

CORRIDA

Para opções de linha de comando, invoque:

$ ./mongod --help

Para executar um único banco de dados de servidor:

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

Se você estiver trabalhando com o Windows, vá para o diretório onde você tem mongo.exe

use os seguintes comandos, (estou compartilhando o meu)

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

Agora você precisa executar outro prompt CMD e ir para o diretório onde você tem o mongo e apenas executá-lo

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

Espero que tenha ajudado :)

Se não funcionar, execute o CMD como administrador

Ash Upadhyay
fonte