pymongo.errors.OperationFailure: Authentication failed.


 

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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM