MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

शो डीबीएस कमांड त्रुटि निष्पादित करने के लिए अधिकृत नहीं देता है

आपको mongod इंस्टेंस को एक्सेस कंट्रोल के साथ शुरू करना चाहिए था, यानी --auth कमांड लाइन विकल्प, जैसे:

$ mongod --auth

आइए मोंगो शेल शुरू करें, और एडमिन डेटाबेस में एक एडमिनिस्ट्रेटर बनाएं:

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

अब यदि आप "db.stats ()", या "उपयोगकर्ताओं को दिखाएं" कमांड चलाते हैं, तो आपको "कमांड निष्पादित करने के लिए व्यवस्थापक पर अधिकृत नहीं..." त्रुटि मिलेगी।

> db.stats()
{
        "ok" : 0,
        "errmsg" : "not authorized on admin to execute command { dbstats: 1.0, scale: undefined }",
        "code" : 13,
        "codeName" : "Unauthorized"
}

इसका कारण यह है कि आपने अभी भी उपयोगकर्ता myUserAdmin को "रीड" या "रीडराइट" की भूमिका नहीं दी है। आप इसे नीचे की तरह कर सकते हैं:

> db.auth("myUserAdmin", "abc123")
> db.grantRolesToUser("myUserAdmin", [ { role: "read", db: "admin" } ])

अब आप इसे सत्यापित कर सकते हैं (कमांड "उपयोगकर्ता दिखाएं" अब काम करता है):

> show users
{
        "_id" : "admin.myUserAdmin",
        "user" : "myUserAdmin",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "read",
                        "db" : "admin"
                },
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}

अब यदि आप "db.stats()" चलाते हैं, तो आप भी ठीक रहेंगे:

> db.stats()
{
        "db" : "admin",
        "collections" : 2,
        "views" : 0,
        "objects" : 3,
        "avgObjSize" : 151,
        "dataSize" : 453,
        "storageSize" : 65536,
        "numExtents" : 0,
        "indexes" : 3,
        "indexSize" : 81920,
        "ok" : 1
}

इस उपयोगकर्ता और भूमिका तंत्र को व्यवस्थापक डेटाबेस के अलावा, MongoDB में किसी भी अन्य डेटाबेस पर भी लागू किया जा सकता है।

(मोंगोडीबी संस्करण 3.4.3)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में/से जावास्क्रिप्ट ऑब्जेक्ट्स को संग्रहीत करना और पुनर्प्राप्त करना

  2. क्लाउड में ओपन सोर्स डेटाबेस का स्वचालन और प्रबंधन - ClusterControl की घोषणा 1.6

  3. MongoDB - अपना स्वयं का SSL प्रमाणपत्र लाएं

  4. मोंगोडब में जावास्क्रिप्ट स्क्रिप्ट (.js फ़ाइल) चलाएँ, जिसमें js . के अंदर एक और फ़ाइल शामिल है

  5. MongoDB नेवला पदावनति चेतावनी