mongodb密码认证

作者:Nick

mongodb 默认有两个数据库 adminlocal , adminlocal 数据库主要存储副本集的元数据, admin 数据库则主要存储MongoDB的用户、角色等信息

mongodb 的账号权限只能针对一个数据库,如果一个账号需要有多个数据库权限,需要在相应的数据库添加账号

mongodbredis 一样默认没有开启密码认证,如果需要开启需要以下操作

修改数据库配置文件 mongod.conf 以下内容,有则修改,无则新增,注意缩进,修改完记得重启

security:
  authorization: enabled

在终端执行以下命令

// 连接
mongo

//选择数据库
use admin

//添加管理员账号
db.createUser({ user: "用户名", pwd: "密码", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })  

//查看管理员账号
db.system.users.find()

//认证,返回 1 代表成功
db.auth('用户名', '密码')

普通数据库认证

//选择数据库
use test

//添加普通账号,读写权限 
db.createUser({ user: 'nick', pwd: 'nick', roles:[{ role: 'readWrite',db: 'koa2' }]})

//认证
db.auth('nick', 'nick')

mongodb 版本:3.4+

后端

Nick

😄😄😄