MongoDB設置密碼驗證


說明:

MongoDB副本集就是shard,所以配置是一樣的,如果只是單機的MongoDB,連keyfile文件都不需要,只需要配置auth=true即可。所以好好看一下下面的例子,你應該就可以明白MongoDB應該如何設置密碼驗證了!


MongoDB分片集群設置密碼驗證

創建keyfile秘鑰文件

    #MongoDB集群中的每一個實例彼此連接時都會檢驗彼此證書是否相同,只有相同的實例彼此才可以訪問。

    openssl rand -base64 512 > mongodb.key

    chmod 400 mongodb.key

將密碼復制到集群的每台設備的指定位置

    就假如我們的指定位置是/usr/local/mongodb/下

    scp mongodb.key root@IP地址:/usr/local/mongodb/

連接任意一台mongos創建用戶

    ./mongo IP地址:[mongos端口]

> use admin
> db.createUser({                    //集群管理賬號
    "user":"admin", 
    "pwd":"admin888",
    "roles":[{
      role:"root",
      db:"admin"
    ]}
})
> use testdb                         //客戶端賬號
> db.createUser({
    "user":"user",
    "pwd":"user888",
    "roles":[{
      role:"dbOwner",
      db:"testdb"
    ]}
})

MongoDB用戶角色問題可以參考我之前寫的MongoDB用戶和角色說明

配置密碼認證

    config Server的配置文件

#新增下列兩項
keyFile=/usr/local/mongodb/mongodb.key auth=true

    修改完成后,重啟config Server,先重啟secondary,最后再重啟primary。

    shard同config Server一樣。

    mongos則是沒有auth這個選項,只需要配置keyFile驗證即可。

全部重啟完成后,驗證

    #連接任意一台mongos

    ./mongo IP地址:[mongos端口]

> use admin
> db.auth("admin","admin888")      //不登錄是無法操作MongoDB的

至此,MongoDB的密碼認證就配置完成了! 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM