mongoDB 3.4开启用户认证

mongoDB是没有系统默认用户的,安装上后可以直接连接,3.4版本有默认两个数据库。admin和local。

连接上mongo之后,使用哪个数据库就用

use ${database} 来切换到哪个数据库,并且mongoDB的用户是跟着数据库走的,创建用户时需指定数据库。

在mongoDB的安装目录下创建data logs 目录和mongo.conf文件

3.~的版本我用的是mongo.conf配置文件来配置,第一个和第二个配置的data目录和logs目录是没有的,需要自己创建,

#数据库路径
dbpath=D:\Application\MongoDB\data
#日志输出文件路径
logpath=D:\Application\MongoDB\logs\mongo.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017

然后执行命令来是配置生效

mongod.exe --config "D:\Application\MongoDB\mongo.conf" --install

连接上mongoDB,一般默认的管理员是

use admin
db.createUser(
     {
       user:"root",
       pwd:"root",
       roles:[{role:"root",db:"admin"}]
     }
  )

 创建完成之后,在admin下,使用db.system.users.find()来查看当前用户的一些信息,可以看到认证方式是SCRAM-SHA-1,记住这个,之后连接时要选择它

{ "_id" : "admin.root", "userId" : BinData(4,"JOOYx9UPTQaS18xowfVsLg=="), "user" : "root", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "t5BG5AaAvSIBsdcoEiNiLg==", "storedKey" : "zRMCfNcil8A99Xn/+y1irEYAMMw=", "serverKey" : "wgKaO6f2uyihsBn4Kw5EfEfMWIk=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

然后就可在mongo.conf中添加认证

#数据库路径
dbpath=D:\Application\MongoDB\data
#日志输出文件路径
logpath=D:\Application\MongoDB\logs\mongo.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#开启认证
auth=true

添加完毕在电脑的服务与应用程序中重启启动服务

 之后再次连接mongodb,可以看到,如果没有在指定数据库下使用用户名和密码进行认证登录,就会出现Unauthorized的错误信息

 使用工具登录

 连接成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值