Creé un volcado con mongodump en la computadora A (servidor ubuntu 12.04). Lo moví a la computadora B (servidor ubuntu 12.04) y escribí:
mongorestore -db nombre_bd --drop db_dump_path
Falló e informó:
conectado a: 127.0.0.1
termina llamada después de lanzar una instancia de 'std :: runtime_error'
what (): locale :: facet :: _ S_create_c_locale name not valid
Aborted
He realizado con éxito esta operación antes y este comportamiento extraño nunca ha ocurrido. ¿Qué debo hacer para solucionar este problema?
mongodb
locale
ubuntu-12.04
mongodump
mongorestore
Luca Anceschi
fuente
fuente

En realidad, no está estrictamente relacionado con MongoDB. De alguna manera, el idioma en la computadora B no se definió correctamente. Me las arreglé para solucionarlo escribiendo:
Estos comandos generarán y configurarán las configuraciones regionales necesarias. Después de esos pasos, mongorestore volvió a funcionar como de costumbre.
fuente
/etc/locale.geny habilitar las configuraciones regionales necesarias (en arch linux)/etc/locale.geny ejecutarlocale-genera todo lo que se necesitaba.La exportación
LC_ALL="en_US.UTF-8"solo funciona si tiene laen_USconfiguración regional instalada. Si desea evitar la instalación dellocalespaquete (o su equivalente en distribuciones distintas de las derivadas de Debian), puede utilizar en su lugar:que no requerirá ningún dato local adicional.
fuente
Si utiliza Mac OSX y SSH, es posible que este LC_CTYPE sea incorrecto.
Desarmar la var incorrecta.
Compruebe si la configuración regional funciona bien.
Ahora mongo también debería funcionar bien.
fuente
Para que la corrección sea permanente, puede editar uno de esos archivos:
Y agrega la línea
LC_ALL="en_US.UTF-8"fuente
Tengo el mismo problema en Debian 7 sin locale-gen (comando no encontrado) instalado.
Resolví de esta manera:
Ahora mongodb debería comenzar.
Fuente
fuente