sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:Servern har startvarningar ''Åtkomstkontroll är inte aktiverad för databasen''

Mongodb v3.4

Du måste göra följande för att skapa en säker databas:

Se till att användaren som startar processen har behörigheter och att katalogerna finns (/data/db i det här fallet).

1) Starta MongoDB utan åtkomstkontroll.

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

2) Anslut till instansen.

mongo --port 27017

3) Skapa användaradministratören (i admin-autentiseringsdatabasen) .

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

4) Starta om MongoDB-instansen med åtkomstkontroll.

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

5) Anslut och autentisera som användaradministratör.

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

6) Skapa ytterligare användare efter behov för din implementering (t.ex. i testautentiseringsdatabasen) .

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

7) Anslut och autentisera som myTester.

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

Jag förklarade i princip bara den korta versionen av de officiella dokumenten här:https://docs.mongodb.com/master/tutorial/enable-authentication/



  1. Spark Structured Streaming dynamisk sökning med Redis

  2. Hur uppdaterar man värdet för ett specifikt inbäddat dokument, inuti en array, för ett specifikt dokument i MongoDB?

  3. Hur man hittar slumpmässiga poster i Mongoose

  4. Hur ansluter man till en Redis-behållare med Docker Compose?