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