python3链接Mongodb数据库报 Pymongo.error.OperationFailure:Authentication failed 解决方案

问题现象:

命令链接

mongo ip:port/database -u username -p paddword

连接成功

python3链接Mongodb数据库报 Pymongo.error.OperationFailure:Authentication failed 解决方案

程序python链接报错如下:

python3链接Mongodb数据库报 Pymongo.error.OperationFailure:Authentication failed 解决方案

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)

python3链接Mongodb数据库报 Pymongo.error.OperationFailure:Authentication failed 解决方案