sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:el servidor tiene advertencias de inicio ''El control de acceso no está habilitado para la base de datos''

Mongodb v3.4

Debe hacer lo siguiente para crear una base de datos segura:

Asegúrese de que el usuario que inicia el proceso tenga permisos y que los directorios existan (/data/db en este caso).

1) Inicie MongoDB sin control de acceso.

mongod --port 27017 --dbpath /data/db

2) Conéctese a la instancia.

mongo --port 27017

3) Cree el administrador de usuarios (en la base de datos de autenticación del administrador) .

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

4) Reinicie la instancia de MongoDB con control de acceso.

mongod --auth --port 27017 --dbpath /data/db

5) Conéctese y autentíquese como administrador de usuarios.

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

6) Cree usuarios adicionales según sea necesario para su implementación (por ejemplo, en la base de datos de autenticación de prueba) .

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

7) Conéctese y autentíquese como myTester.

mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

Básicamente, acabo de explicar la versión corta de los documentos oficiales aquí:https://docs.mongodb.com/master/tutorial/enable-authentication/