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)就可以解决,当然类似的,如果你设置了密码,就必然得写正确的密码

你可能感兴趣的:(pymongo.errors.OperationFailure: Authentication failed.)