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