MONGODB-CR: AuthenticationFailed UserNotFound Could not find user...报错解决方法

在应用使用账号密码登录认证MongoDB时,观察MongoDB日志会出现下面报错:

2018-08-16T14:46:38.242+0800 [conn16484] Failed to authenticate testbj2@search with mechanism MONGODB-CR: AuthenticationFailed UserNotFound Could not find user testbj2@search

 

报错原因:

      可以看出应用使用旧版本驱动来登录验证MongoDB的。旧版本的驱动携带的校验方式是MONGODB-CR,但在3.0.3版本后,MongoDB加入了SCRAM-SHA-1校验方式,并为默认的校验方式。

       当创建用户的时候,系统将新用户的校验方式绑定为当前系统的校验方式。(若当前系统的校验方式为SCRAM-SHA-1,那新用户的校验方式会是SCRAM-SHA-1,并且不能修改),解决问题的方法就是创建一个检验方式为MONGODB-CR的用户。

 

创建一个检验方式为MONGODB-CR的用户方法:

SCRAM-SHA-1校验方式 的代号为5

MONGODB-CR校验方式 的代号为3

 

1、查看当前系统认证方式

>use admin

>db.system.version.findOne({"_id" : "authSchema"})

 

2、修改系统校验方式(不会影响原有用户的校验方式,只有对新用户有影响)

>  var schema = db.system.version.findOne({"_id" : "authSchema"}) 

> sch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值