【MongoDB】04 权限认证
关闭MongDB
mongo --port 27017 use admin db.shutdownServer()
重启MongDB
/usr/local/mongodb/bin/mongod -f /usr/local/mongod.conf
登录访问
/usr/local/mongodb/bin/mongo
创建系统超级管理员mongoroot
和admin数据库的管理用户mongoadmin
# 切到admin use admin # 创建系统超级用户mongoroot,密码123456,角色root db.createUser({user: "mongoroot", pwd: "123456", roles: ["root"]}) # 创建admin库的管理员 db.createUser( { user: "mongoadmin", pwd: "123456", "roles": [ { role: "userAdminAnyDatabase", db:"admin" } ] } ) # 查看已经创建的用户 db.system.users.find()
注意:
MongoDB默认把用户信息存放到 admin 数据库的 system.users 表中
创建用户如果不指定数据库,则创建的用户在所有数据库上有效
认证测试:
# 切到admin db.auth("账号", "密码")
创建普通用户
# 切到bbs use bbs # 创建用户,拥有读写权限 db.createUser({user: "jigege", pwd: "123456", roles: [{role: "readWrite", db: "bbs"}]})
注意:
如果在启动mongodb时不开启认证,那么启动后不管是否用账号密码都可以成功连接数据库。
如果开启了认证,登陆的客户端必须使用admin中保存的角色
开启认证:
关闭数据库
use admin
db.shutdownServer()
重启MongDB并且附带认证参数
/usr/local/mongodb/bin/mongod -f /mongodb/mongod.conf --auth
或者在配置文件中进行设置:
security:
#开启授权认证
authorization: enabled
链接访问:
/usr/local/mongodb/bin/mongo --host 172.17.238.235 --port 27017 -u mongoroot -p 123456

浙公网安备 33010602011771号