Criei um dump com o mongodump no computador A (servidor ubuntu 12.04). Mudei para o computador B (servidor ubuntu 12.04) e digitei:
mongorestore -db db_name --drop db_dump_path
Ele falhou e relatou:
conectado a: 127.0.0.1
terminate chamado após lançar uma instância de 'std :: runtime_error'
what (): locale :: facet :: _ S_create_c_locale nome inválido
Abortado
Já realizei com sucesso essa operação antes e esse comportamento estranho nunca ocorreu. O que preciso fazer para consertar isso?
mongodb
locale
ubuntu-12.04
mongodump
mongorestore
Luca Anceschi
fonte
fonte
Na verdade, ele não está estritamente relacionado ao MongoDB. De alguma forma, o idioma no computador B não foi definido corretamente. Consegui consertar digitando:
Esses comandos irão gerar e configurar os locais necessários. Depois dessas etapas, o mongorestore voltou a funcionar normalmente.
fonte
/etc/locale.gen
e habilitar os locais necessários (no arch linux)/etc/locale.gen
e executarlocale-gen
era tudo o que era necessário.A exportação
LC_ALL="en_US.UTF-8"
só funciona se você tiver oen_US
locale instalado. Se você quiser evitar a instalação dolocales
pacote (ou seu equivalente em distribuições que não sejam derivados do Debian), então você pode usar:que não exigirá nenhum dado extra de localidade.
fonte
Se você estiver usando um Mac OSX e SSH, isso pode ser emitido por LC_CTYPE incorreto.
Remova o var errado.
Verifique se o local está funcionando bem.
Agora, mongo também deve servir.
fonte
Para tornar a correção permanente, você pode editar um desses arquivos:
E adicione a linha
LC_ALL="en_US.UTF-8"
fonte
Tenho o mesmo problema no debian 7 sem locale-gen (comando não encontrado) instalado.
Eu resolvi assim:
Agora o mongodb deve começar.
Fonte
fonte