MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB:il server ha avvisi di avvio ''Il controllo di accesso non è abilitato per il database''

Mongodb v3.4

È necessario effettuare le seguenti operazioni per creare un database sicuro:

Assicurati che l'utente che avvia il processo disponga delle autorizzazioni e che le directory esistano (/data/db in questo caso).

1) Avvia MongoDB senza controllo di accesso.

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

2) Connettiti all'istanza.

mongo --port 27017

3) Creare l'amministratore utente (nel database di autenticazione dell'amministratore) .

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

4) Riavvia l'istanza MongoDB con il controllo dell'accesso.

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

5) Connettiti e autenticati come amministratore utente.

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

6) Crea utenti aggiuntivi secondo necessità per la tua distribuzione (ad es. nel database di autenticazione di prova) .

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

7) Connettiti e autenticati come myTester.

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

Fondamentalmente ho appena spiegato la versione breve dei documenti ufficiali qui:https://docs.mongodb.com/master/tutorial/enable-authentication/