Me da el siguiente error cuando intento ejecutar «mongod» en el terminal. He intentado desinstalar, volver a instalar y reiniciar la máquina. Alguna sugerencia sobre cómo sería increíble.

De ERROR:

dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo

Lado de la nota:
El nodo también ha dejado de trabajar en mi máquina alrededor del mismo tiempo que tengo este error.

events.js:72
        throw er; //Unhandled 'error' event
              ^
Error: failed to connect to [localhost:27017]

Cualquier ayuda sería muy apreciada!

  • Hizo usted siga las instrucciones en el mensaje de error?
InformationsquelleAutor user3810163 | 2014-07-06

5 Comentarios

  1. 180

    Esto deben trabajar para asegurar que el directorio está configurado en el lugar correcto para que Mongo puede encontrar:

    sudo mkdir -p /data/db/

    sudo chown `id -u` /data/db

    • Impresionante, pero lo que está pasando aquí?
    • mkdir crea un directorio donde mongo se ve para almacenar sus datos. El-p permite crear un directorio y subdirectorios en una línea. (Sin -p, obtendrá un mensaje de error si el directorio de ‘datos’ no existe ya.) La segunda línea establece permisos para que mongo puede escribir en ese directorio. (‘chown’ cambia el propietario de un archivo de Cambio de Propietario.)
    • Lo siento por la pregunta estúpida, pero ¿qué significa eso para cambiar el propietario de un directorio? Quiero decir… ¿Dónde estás especificando que en concreto mongo puede escribir en ese directorio?
    • Usted hace su usuario el dueño del directorio. Cada proceso de usuario genera, incluyendo mongodb, tendrán los mismos derechos como usuario. Antes de eso, usted no tiene esos derechos, por lo que tuvo que usar sudo para crear el directorio – sudo significa que usted ejecute el comando siguiente como la root de los usuarios, que tiene acceso completo al sistema.
    • Pero ¿qué significa «id-u’ significa? Y quién debe ser el titular de los datos/db’ en el directorio?
  2. 6

    He resuelto el problema con :

    sudo mongod --dbpath=/var/lib/mongodb y, a continuación, mongo para acceder a la Shell de mongodb.

  3. 2

    Cambiar el usuario del nuevo directorio de datos:

    chown mongodb [rute_directory]

    Y pruebe otra vez para iniciar el mongo servicio

    servicio mongod inicio

    Voy a resolver el mismo problema con este.

    • servicio de mongod inicio
  4. 1

    Demonios (por lo general termina con d) suele iniciarse como servicios. Iniciar el servicio (daemon) permitirá mongodb para que funcionen como debieran (sin permiso de los cambios si se integra bien con tu distro). Empiezo a él mediante el servicio denominado mongodb en lugar de iniciar mongod directamente-en la distro con systemd habilitar en inicio luego en ejecutar como:

    sudo systemctl enable mongodb    
    sudo systemctl start mongodb

    o, en distro con upstart (si /etc/init) o init (si /etc/init.d) ( https://www.tecmint.com/systemd-replaces-init-in-linux/ ) lugar de ejecución:

    sudo service mongodb enable
    sudo service mongodb start

    Si tienes una distro con rc («ejecutar los comandos») como Gentoo (configuración en /etc/init.d) (https://forums.gentoo.org/viewtopic-t-854138-start-0.html) ejecutar:

    rc-update add mongodb default 
    /etc/init.d/mongodb start 

    En una distro/versión de FreeBSD que todavía tiene rc (comprobar si su versión de conmutación de systemd, de lo contrario, consulte a continuación):

    • añadir la siguiente línea a /etc/rc.conf:

      mongod_enable=»YES»

    • a continuación:

      sudo service mongod start

    Después de iniciar el servicio, un unpriveleged usuario puede utilizar mongo, y cada usuario tendrá separar los datos.

Dejar respuesta

Please enter your comment!
Please enter your name here