pymongo连接认证 auth failed解决方法
1.查看pymongo版本: 结果为3.2
pip list -v
2.查看mongoDB版本: 结果为2.6
在mongo终端中输入
db.version()
mongoDB有不同的认证机制,3.0版本以后采用的是’SCRAM-SHA-1’, 之前的版本采用的是’MONGODB-CR’。所以,以我的版本情况,显然应该用’MONGODB-CR’
用下面的方法连接,就成功了。
host = '192.168.xx.xx'
client = pymongo.MongoClient(host)
client.adb.authenticate("userA", "password", mechanism='MONGODB-CR')
db = client["adb"]
collection = db["acol"]
我项目中的源码
#建立于MongoClient 的连接
# client = pymongo.MongoClient('localhost',27017)
client = pymongo.MongoClient('192.168.11.254',27017)
#devsycredit是数据库名称,tz是用户名,user是密码
client.devsycredit.authenticate('tz','user',mechanism='MONGODB-CR')