Estou recebendo o seguinte erro:
alex@alex-K43U:/$ mongo
MongoDB shell version: 2.2.0
connecting to: test
Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
alex@alex-K43U:/$
Isto é o que acontece quando tento iniciar o mongodb:
* Starting database mongodb [fail]
Eu já tentei mongo --repair
Criei chown e chmod para var, lib e data / db e log mongodb.
Não tenho certeza do que mais fazer. Alguma sugestão?
mongodb.log:
***** SERVER RESTARTED *****
Thu Oct 11 08:29:40
Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 08:29:40
Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 08:29:41 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 08:29:41 [initandlisten] ** with --journal, the limit is lower
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal"
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Oct 11 08:29:41 dbexit:
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files...
Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished
Thu Oct 11 08:29:41 dbexit: really exiting now
EDITAR:
Eu removi o bloqueio, então fiz o reparo do mongod e recebi este erro:
Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
então eu fiz isso com o sudo:
alex@alex-K43U:~$ sudo mongod --repair
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 12:05:42 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 12:05:42 [initandlisten] ** with --journal, the limit is lower
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 12:05:42 [initandlisten] options: { repair: true }
Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
Thu Oct 11 12:05:42 [initandlisten] finished checking dbs
Thu Oct 11 12:05:42 dbexit:
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files...
Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished
Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock...
Thu Oct 11 12:05:42 dbexit: really exiting now
Mas ainda está tendo o mesmo problema.
sudo service mongod restart
trabalhou para mimRespostas:
O log indica que o mongodb está sendo finalizado porque há um arquivo de bloqueio antigo.
Se você não está e não estava executando o registro no diário, remova o arquivo de bloqueio, execute o reparo e inicie o mongodb novamente.
Se você está ou estava executando o diário ativado, consulte os documentos relevantes do Mongo DB . Observe que eles dizem "Se você estiver executando com o Registro no diário, não deve fazer um reparo para recuperar para um estado consistente". Portanto, se você estava registrando um diário, o reparo pode ter piorado as coisas.
fonte
fonte
/data/db/mongod.lock
vez de/var/lib/mongodb/mongod.lock
Você correu
mongod
antes de corrermongo
?Segui as instruções de instalação do mongodb em http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ e tive o mesmo erro que você somente quando executei
mongo
antes de executar o processo mongo commongod
. Eu pensei que a instalação do mongodb também o iniciaria, mas você precisa iniciá-lo manualmentemongod
antes de fazer qualquer outra coisa que precise do mongodb.fonte
mongo.exe
deve ser o que inicia o banco de dados.Isso ocorre porque o processo mongod está inoperante; você deve executar os comandos abaixo para iniciar o processo mongod:
Espero que isso ajude você.
fonte
sudo service mongod stop
esudo service mongodb stop
antes do primeiro comando, porque algumas pessoas ainda podem tê-los em execução.Experimentar
Isso resolveu meu problema.
fonte
sudo service mongod start
esudo service mongodb start
Verifique o espaço livre do seu sistema de arquivos e aumente-o se for menor. Isso também pode fazer com que o mongo não inicie. Verifique o arquivo /var/log/mongodb/mongodb.log.
fonte
Tente correr
mongod
antesmongo
.sudo /usr/sbin/mongod
no meu opensuseIsso resolveu meu problema,
fonte
primeiro, você deve remover o arquivo mongod.lock pelo comando abaixo
e, em seguida, reinicie o serviço mongo emitindo o comando abaixo
fonte
Você pode verificar
netstat -anp | grep 27017
se a porta está sendo usada por outro processo.fonte
No Windows, execute o cmd como Admin:
Criar diretório:
mkdir c: \ mongo \ data \ db
Instalar serviço:
mongod.exe - instalar --logpath c: \ mongo \ logs --logappend --bind_ip 127.0.0.1 --dbpath c: \ mongo \ data \ db --directoryperdb
Inicie o MongoDB:
início líquido MongoDB
4.Inicie o Mongo Shell:
Esta solução funciona bem para mim
fonte
Isso funcionou para mim:
fonte
Para referência futura, siga estas etapas para evitar erros semelhantes:
1.Download MondoDB https://www.mongodb.com/
2. Abra um terminal e um CD na sua pasta de downloads ou em qualquer pasta que você salvou no download do mondodb (certifique-se de extrair sua pasta do mongodb antes de fazer o cd nela)
3.Mover o mongodb para o seu caminho usr / local
4.cd na sua pasta local
5. criar um novo diretório
6.cd no novo diretório criado acima
7. dar permissões de mongo
8.Em seguida, vá / abra seu .bash_profile
Para fazer isso, execute as seguintes etapas:
No seu novo terminal
1 .
cd
2.pwd
3 .ls -l
Verifique se o .bash_profile aparece na sua lista de arquivos no seu terminal
caso contrário, crie o -bash_profile
Criando .bash_profile:
No seu terminal
toque em .bash_profile
// pule esta etapa se você já tiver um .bash_profile
Etapa 8:
Em seguida no seu terminal:
E no seu arquivo bash que é aberto, adicione o seguinte:
E salve . (Salvar arquivo ou comando S / CMD + S)
Etapa 9: de volta ao seu terminal :
Agora abra dois terminais . Um será para o seu mondo daemon e outro para o seu mongo .
Terminal 1: no seu terminal, digite: mongod
Resultado:
Terminal 2:
Resultado:
Certifique-se também de não cometer o seguinte erro de digitação ao iniciar o mongod no seu terminal: Isso está incorreto
emite o seguinte erro : Falha ao conectar-se a 127.0.0.1:27017, no (soquete para verificação de erro após pesquisa), motivo: Conexão recusada
Isto está certo:
(Não deve haver espaço entre as palavras mongo e d .. mondod
Por fim, lembre-se sempre de que você deve executar o mondod antes de executar o mongo em seus terminais .
fonte
Eu segui o documento em http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/ .
Depois de configurado e reiniciar, executei
sudo service mongod start
e obtive... [FAILED]
.Por fim, descobri que
mongod
tinha começado. Eu acho que oyum install
adicionou ao início automático.Para verificar se o seu
mongod
está em execução:service mongod status
.Espero que isso ajude alguém a ter o mesmo problema.
fonte
Após tentativas frequentes, finalmente consegui solucionar o problema ...
fonte
Este erro pode ser causado pela configuração de IP de ligação do MongoDB. Você pode verificar o arquivo de configuração do MongoDB
No meu caso, o IP de ligação é definido como o endereço da intranet do servidor, da seguinte maneira:
Então, eu dei ao mongo um parâmetro IP para conectar ao shell pelo tipo:
Não se esqueça de reiniciar o serviço mongodb se você alterou a configuração.
fonte
Eu tenho o mongo versão 3.2.1 e tive que excluir o arquivo de bloqueio
/data/db/
e, depois disso, executeimongod
e ele foi iniciado com êxito.fonte
No terminal, execute esses comandos
1)
2)
fonte
Depois de remover o mongod.lock, que estava dentro do diretório de dados no sistema operacional Windows, ele ainda estava mostrando a mesma mensagem de erro. Eu tive que executar o mongod com --dbpath para fazer com que o comando mongo fosse executado sem erros.
fonte
Embora as respostas sejam recebidas, eu gostaria de discutir sobre erros de rede no Windows
MongoDB
.Definir as preocupações de gravação segura não é o método de prova completa para garantir que estamos seguros. Vamos supor que
w=1
&j=true
esteja definido, e se a confirmação de gravação não tiver recebido do servidor? Bem, é provável que não tenha acontecido, mas pode ter acontecido. A razão pela qual isso pode ter acontecido é que há erros de rede - há motivos para não recebermos uma resposta afirmativa. Assim, podemos enviar a solicitação do aplicativo através de um driver do idioma de sua escolha.mongod
pode concluí-lo com êxito e, em seguida, pode haver uma redefinição do TCP, e a rede pode realmente ser redefinida de uma maneira que nunca recebamos resposta. Portanto, podemos obter um erro e, no erro, podemos assumir que temos um erro. Não aconteceu, mas pode acontecer.Para uma inserção, é possível se proteger dela. É possível porque se deixarmos o driver criar a
_id
inserção e fizermos uma inserção - poderíamos fazer essa inserção várias vezes e isso causaria algum dano. Porque, se não fizermos este 1 st tempo e teremos um erro e não temos certeza se quer ou não que a inserção concluída porque é um erro de rede, então nós poderíamos apenas fazê-lo novamente. E desde que a realizemos novamente, tente realizá-la exatamente_id
. O pior cenário é que obteremos um erro de chave duplicada quando tentarmos inseri-lo.No entanto, uma atualização é onde o problema ocorre. Especialmente, a atualização que não é item potente, que por exemplo incluía um
$ink
comando. Então, estamos dizendo ao banco de dados para incrementar um determinado campo. Bem, nesse caso, se recebermos um erro de rede e não soubermos se a atualização ocorreu ou não. Agora, talvez conheçamos o suficiente sobre os valores que podemos verificar com eles que a atualização ocorreu, o que é bom. Mas se não soubermos o valor inicial no banco de dados para esse campo, não será possível saber se ocorreu ou não em caso de erro na rede. Esse tipo de problema é extremamente raro com uma boa rede.E se realmente precisamos evitá-lo a todo custo, o que precisamos fazer é ativar todas as nossas atualizações em inserções, lendo o valor total do documento fora do banco de dados e, potencialmente, excluindo-o e inserindo-o novamente ou apenas inserindo um novo.
Os motivos pelos quais um aplicativo pode receber um erro mesmo se a gravação tiver sido bem-sucedida:
MongoDB
servidor termina entre receber a gravação e responder a ela.fonte
Isso funciona para mim Para interromper o uso do mongodb:
E para reiniciar:
fonte
A adição da lixeira ao PATH nas variáveis de ambiente ajudou.
Caminho de instalação do GOTO e copie o ../bin para as variáveis PATH nas variáveis de ambiente no Windows
fonte
digite windows + re digite o seguinte
agora digite "mongo" no cmd no respectivo caminho em que o mongo.exe está presente, ele começará a funcionar.
fonte
1.Crie uma nova pasta na unidade d D: / data / db
2. Abra o terminal em D: / data / db
3. Digite mongod e insira.
4. Digite mongo e digite.
e o seu mongodb está programado ............
fonte
Apenas corra
mongod --repair
deC:\Program Files\MongoDB\Server\4.0\bin
Aqui está o documento https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/
fonte
fonte
Eu recebi um erro semelhante, mas a causa raiz foi diferente. Depois de instalar o mongodb usando o homebrew. https://docs.mongodb.com/manual/installation/ Preciso iniciar o serviço "mongod" antes de executar o comando "mongo" no terminal.
fonte
Se você estiver usando sistemas OS X, não há
service
comandos. Então você não será capaz de executarsudo service mongod start
.Verifique esta resposta https://unix.stackexchange.com/a/155746 para obter mais ajuda!
fonte
Erro: Não foi possível conectar ao servidor 127.0.0.1:27017
Esta é a solução para os usuários do WINDOWS digitar o código aqui 1. Crie o diretório:
mongod.exe --install --logpath
Inicie o MongoDB:
net start MongoDB
4.Inicie o Mongo Shell:
vá até a lixeira e entre
mongo
Nota: Abra o terminal no modo Administrador
fonte
Ubuntu 18.04LTS: O problema surge quando eu desinstalei minha versão anterior completamente e instalei o 4.2.6
Depois de horas pesquisando no google, resolvi outro problema
Falha ao iniciar o MongoDB - *** anulando após falha de fassert ()
Eu estava sem esperança sobre o problema não conseguir conectar ao servidor , porque tudo parece ok.
Finalmente, decidi reiniciar o sistema operacional e adivinhem ... BINGO
fonte
Apenas tente:
fonte