【问题标题】:MongoDB Atlas authentication failed on PythonMongoDB Atlas 身份验证在 Python 上失败
【发布时间】:2019-05-09 23:51:48
【问题描述】:

我已经在 Heroku 上部署了这个 Python 应用程序,我希望它连接到 MongoDB Atlas 集群。我使用我的字符串连接到集群,但由于某种原因,我不断收到raise OperationFailure(msg % errmsg, code, response) pymongo.errors.OperationFailure: bad auth Authentication failed. 我检查了两次,用户和密码都是正确的。知道为什么会这样吗?

from pymongo import MongoClient
import time
import random
import time
import datetime


client = MongoClient('mongodb+srv://USER:<MYPASSWORD>@test-2liju.mongodb.net/test?retryWrites=true')

db = client.one

mycol = client["tst"]


while True:


    test = int(random.randrange(-99999990,90000000,1))

    dic = {"num": test}

    result = db.tst.insert_one(dic)


    print(test)
    time.sleep(5)

【问题讨论】:

    标签: python mongodb heroku mongodb-atlas


    【解决方案1】:

    愚蠢的错误,我不得不输入MYPASSWORD 而不是&lt;MYPASSWORD&gt;,没有&lt;&gt;

    【讨论】:

      【解决方案2】:

      请勿在密码中使用任何特殊字符,例如“+”或“=”。

      我使用 OpenSSL 生成像 u4wY9AOwnOLMY+h9EQ== 这样的密码。遇到 bad auth 身份验证失败。

      使用 MongoDB Compass 后,它告诉我不要使用特殊字符,所以我删除了这些字符并使用 'u4wY9AOwnOLMYh9EQ'。

      然后就可以了。

      【讨论】:

        【解决方案3】:

        检查您从 Mongodb Atlas Connections 中选择的 Python 驱动程序版本的兼容性。 mongoengine flask不支持3.4以上的版本

        【讨论】:

          猜你喜欢
          • 2021-01-18
          • 2019-09-16
          • 2018-01-19
          • 2020-02-29
          • 2016-09-07
          • 1970-01-01
          • 1970-01-01
          • 2015-05-06
          相关资源
          最近更新 更多