pymongo.errors.OperationFailure: Authentication failed.

原因

1. mongo和pymongo的版本不匹配;但是实际上看pymongo,pipy文档中,https://pypi.org/project/pymongo/

PyMongo supports MongoDB 2.6, 3.0, 3.2, 3.4, 3.6 and 4.0.所以这个大概率你的不是这个问题

2. mongo2和mongo3,认证机制不同,3.0版本以后采用的是'SCRAM-SHA-1', 之前的版本采用的是'MONGODB-CR'

host = '192.168.xx.xx'

client = pymongo.MongoClient(host)

client.adb.authenticate("userA", "password", mechanism='MONGODB-CR')

我理解只有mongo2版本的需要上面代码,pymongo默认应该是3(最新的)

3.还有一种可能,你初始化的时候,写了密码 client = pymongo.MongoClient(host, 20000,user='',passwd=''),而你的mongo可能没有设置密码,那么直接删掉user passwd,如client = pymongo.MongoClient(host, 20000)就可以解决,当然类似的,如果你设置了密码,就必然得写正确的密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值