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授权完成