mongodb设置用户

mongodb启动默认没有用户

创建用户

在mongo启动没有加验证(没有在配置文件里加入auth=true)的情况下,执行bin目录里的mongo程序
比如进入bin目录执行:./mongo (默认连接27017端口)

use admin  # 进入admin库
db.createUser({user:"root",pwd:"root",roles:["root"]}) # 这里在admin库创建了一个管理员用户
use mydb   # 这个地方一定要切换到对应的数据库
db.createUser({user:"log",pwd:"log",roles:["readWrite"]}) # 创建一个读写用户能满足日常用(读,写,建索引)

开启用户认证

关闭mongodb,(pkill mongod)
在mongo.conf文件中加入auth=true,重启

show dbs   # 现在有密码了,执行会报错,应该先登陆然后才能执行命令
use admin  # 切换到admin
db.auth("root","root")  # 现在是以root身份登陆 (这个用户有最高权限),可以执行命令了
#或者
use mydb  # 切换到mydb库
db.auth("log","log")   # 现在是以log身份登陆,log是mydb数据库的用户,它的权限只限于在mydb数据库执行读写命令

其他角色以及角色对应权限可以参考下面的文档

程序怎么连接

配置yml文件连接mongo地址
mongodb://log:log@127.0.0.1:27017/mydb

 鸣谢
- https://www.yiibai.com/mongodb/
- https://www.cnblogs.com/out-of-memory/p/6810411.html
- https://www.cnblogs.com/itxiongwei/p/5520863.html
- https://blog.csdn.net/ywb201314/article/details/60961798

原文地址:https://www.cnblogs.com/paper-man/p/13284755.html