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

MongoDB:Server har startadvarsler ''Adgangskontrol er ikke aktiveret for databasen''

Mongodb v3.4

Du skal gøre følgende for at oprette en sikker database:

Sørg for, at brugeren, der starter processen, har tilladelser, og at mapperne findes (/data/db i dette tilfælde).

1) Start MongoDB uden adgangskontrol.

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

2) Opret forbindelse til instansen.

mongo --port 27017

3) Opret brugeradministratoren (i admin-godkendelsesdatabasen) .

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

4) Genstart MongoDB-instansen med adgangskontrol.

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

5) Tilslut og godkend som brugeradministrator.

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

6) Opret yderligere brugere efter behov for din implementering (f.eks. i testgodkendelsesdatabasen) .

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

7) Tilslut og godkend som myTester.

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

Jeg har grundlæggende lige forklaret den korte version af de officielle dokumenter her:https://docs.mongodb.com/master/tutorial/enable-authentication/



  1. Hvorfor kan Travis ikke oprette forbindelse, brug Redis cache_store, når den implementeres til Heroku?

  2. Hvordan opnår man rollback i transaktioner i mongo?

  3. Hvad er den mest modne MongoDB-driver til C#?

  4. Ved at bruge MongoDB som vores masterdatabase, skal jeg så bruge en separat grafdatabase til at implementere relationer mellem enheder?