mongodb版本為3.2(目前最新),演示的是linux下的mongodb授權認證
第一次登錄不啟動授權(mongo默認不啟動)
./mongod --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log
接着使用 ./mongo 命令連接數據庫
./mongo
切換到admin數據庫 use admin
使用創建用戶命令:
use admin db.createUser( { user: "coderhuang", pwd: "123456", roles: [ { role: "root", db: "admin" } ] } )
則對admin數據庫添加了名為coderhuang的用戶(注:mongo為每一個數據庫都提供了一套用戶權限)
接着關閉數據庫(注:當啟動了授權認證,只有root角色有權限可以關閉數據庫)
db.shutdownServer();
第二次登錄啟用授權認證:
./mongod --auth --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log
接着切換到admin數據庫,使用查看用戶命令
use admin show users
將提示未授權
這時需要做授權認證
db.auth("coderhuang","123456");
再調用剛才的命令則可以查看到用戶信息
接着我們需要為我們的數據庫添加相關用戶,這里使用db_report為示例
use db_report db.createUser( { user: "client", pwd: "111111", roles: [ { role: "readWrite", db: "db_report" } ] } )
這里為db_report數據庫添加了具有讀寫權限的角色
到此,mongo授權完成