mongoDB有不同的认证机制,3.0版本以后采用的是'MONGODB-CR', 之前的版本采用的是'MONGODB-CR'。
所以,以我的版本情况,显然应该用'SCRAM-SHA-1'
from pymongo import MongoClient host = '127.0.0.1' client = MongoClient(host, 27017) #连接mydb数据库,账号密码认证 db = client.admin # 先连接系统默认数据库admin # 下面一条更改是关键,我竟然尝试成功了,不知道为啥,先记录下踩的坑吧 db.authenticate("root", "123456",mechanism='SCRAM-SHA-1') # 让admin数据库去认证密码登录,好吧,既然成功了, my_db = client.mydb # 再连接自己的数据库mydb collection = my_db.myset # myset集合,同上解释 collection.insert({"name":"zhangsan","age":18}) # 插入一条数据,如果没出错那么说明连接成功 for i in collection.find(): print(i)