Mongodb授权登录教程

修改时间: 2019-05-27 22:56:00 PM

文章时间:2019年5月27日 22:33:15
解决问题:禁用超管登录,分配指定用户指定数据库进入(待验证,测试未通过)

第一步:修改config文件

$ cd /usr/soft/mongodb
$ vim mongodb.conf
  • 将noauth行注释掉
  • 在最后一行添加 auth=true
port=27017 #端口
dbpath= /usr/soft/mongodb/db #数据库存文件存放目录
logpath= /usr/soft/mongodb/log/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
#noauth = true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger  #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0  #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
auth = true #用户认证

第二步:重新启动数据库

ps -ef|grep mongodb
kill -9 pid
mongod --config /usr/soft/mongodb/mongodb.conf

第三步:添加一个用户

1、首先输入mongo进入Mongodb

//使用admin数据库
use admin

//给admin数据库添加管理员用户名和密码,用户名和密码请自行设置
db.createUser({user:"admin",pwd:"123456",roles:["root"]})

//验证是否成功,返回1则代表成功
db.auth("admin", "123456")

//切换到要设置的数据库,以test为例
use test

//为test创建用户,用户名和密码请自行设置。
db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})

操作完成后,输入exit退出。

第四步:使用用户进行连接

connection标签页 依然保持不变
authentication标签页 可以填写我们自己指定的数据库,和设置的用户及密码

添加新评论