Antes me estaba almacenar todos los archivos de datos mongodb en /var/lib/mongodb directorio..y la dbpath entrada en /etc/mongodb.conf era /var/lib/mongodb..

Ahora quiero cambiar el directorio de datos a /vol/db..así que he creado el directorio /vol/db y cambiado los permisos de uso de sudo chown -R id -u /vol/db y cambiado la ruta de acceso de db entrada a /vol/db en /etc/mongodb.conf

ahora cuando inicio el de mongodb con sudo servicio de mongodb inicio..estoy recibiendo este error en /var/log/mongodb/mongodb.registro de

http://pastebin.com/C0tv8HQN

necesito ayuda..cuando estoy mal?

  • estoy usando sudo chown -R id -u /vol/db y sudo chown -R usuario:nombre de usuario /vol/db
  • Puede pegar la salida de ls -altrh /vol y ls -altrh /vol/db?
  • Estoy teniendo el mismo problema, puede usted contestar de nuevo si usted ha solucionado esto?
InformationsquelleAutor Mark Gill | 2011-05-12

5 Comentarios

  1. 38

    Yo estaba teniendo el mismo problema, pero fue capaz de resolverlo gracias a un pregunta similar. Usted necesita para asegurarse de que /vol/db/ es propiedad de mongodb.

    sudo chown -R mongodb:mongodb /vol/db/

    Si recibe el error chown: invalid user: 'mongodb:mongodb', compruebe /etc/passwd para ver si hay un usuario similar que existe (ex. mongod).

    • qué debo hacer si un usuario no válido error y no hay nada en /etc/passwd que es similar
    • en caso de que mi nombre de servicio es mongod, ¿cuál será mi usuario:grupo?
    • probablemente mongod, trate de: grupos de mongod
  2. 20

    La más sencilla sería

    sudo chmod 777 /data/db
    • esto funcionó para mí.. cuando me encontré con sudo chown mongodb:mongoDB /vol/db he recibido : «ilegal nombre de grupo»… esta solución funcionó
    • Tengo el mismo como hanzolo. Este trabajó para mí.
    • Este comando le dará muy abierto permisos para el directorio en cuestión. La respuesta de @Kaezarrex (sudo chown mongodb:mongodb /data/db) debe tener el efecto deseado sin necesidad de abrir los permisos tan ampliamente.
    • Nunca dar 777 a un archivo, especialmente si es en un servidor de producción
    • sí, este «funciona» si no te importa acerca de la seguridad de ningún tipo.
  3. 5

    Si después de cambiar los permisos y la propiedad de la nueva ruta de acceso de db, usted todavía está viendo este problema, ejecute getenforce para ver si usted está usando un sistema con SELinux se ejecuta en modo de imposición.
    Si getenforce devuelve ‘obediente’, es probable que selinux es la causa del error de permisos, ya que mongodb es que ahora se ejecutan fuera del contexto original ámbito de aplicación desde la db ubicación cambiado de /var/lib/…

    No sé los detalles, pero la fuerza bruta manera de resolver el problema sin necesidad de escribir su propia política de selinux para el nuevo contexto es simplemente desactivar selinux :-/

    sudo setenforce 0

    Idealmente, tendría que averiguar cómo actualizar la política de selinux si usted está planeando para ejecutar en la producción.

  4. 2

    Me sugieren para comprobar cuál es el error por la lectura de mongo registro de

    tail -50 /var/log/mongodb/mongodb.log

    inmediatamente puede encontrar el problema(incluido el permiso queridos)

  5. 2

    Tratar el siguiente:

    $ sudo chmod 755 /vol/db && sudo chown $USER /vol/db
    • Agregar -R para este y luego se trabajó para mí, buscar recursivamente todos los archivos y carpetas: sudo -R chmod 755 /data/db && sudo chown -R $USER /data/db

Dejar respuesta

Please enter your comment!
Please enter your name here