2011-03-14 10 views
32

he instalado MongoDB con el official packages (mongodb-estable), y seguí el Quickstart guide que incluye:MongoDB sólo funciona cuando se ejecuta como root en Ubuntu - tema directorio de datos

By default MongoDB will store data in /data/db , but it won't automatically create that directory. To create it, do:

$ sudo mkdir -p /data/db/ 
$ sudo chown `id -u` /data/db 

You can also tell MongoDB to use a different data directory, with the --dbpath option.

MongoDB se enciende solamente si corro sudo mongod - si lo intento y funciono solo mongod me sale el error:

Mon Mar 14 15:27:07 [initandlisten] couldn't open /data/db/test.ns errno:13 Permission denied 
Mon Mar 14 15:27:07 [initandlisten] couldn't open file /data/db/test.ns terminating 
Mon Mar 14 15:27:07 dbexit: 

lo que da?

+5

Ojalá todas las preguntas fueran bien hechas. –

Respuesta

65

Has creado /data/db como root, así que tiene esos permisos. Puede cambiar los permisos a su cuenta de usuario, o lo que sea que tenga mongo ejecutando.

chown -R username /data/db 

o /data

También se puede establecer un grupo

chown -R username.groupname 

El -R lo hace de forma recursiva, por lo que afectará a todos los archivos que hemos creado en ejecución MongoDB como root ya.

+2

¿Alguna ventaja al dejar al propietario como root y simplemente asignar un grupo? ¿O es mejor configurar específicamente al propietario como usuario? –

+3

Gracias, estaba cerrando el directorio a mongodb: mongodb en lugar de mi nombre de usuario: mi grupo. – Aaron

+0

funciona como un amuleto –

Cuestiones relacionadas