阅读量:1
要解决pymongo连接认证失败(auth failed)的问题,需要遵循以下步骤:
确保MongoDB服务器已启用身份验证。默认情况下,MongoDB不会启用身份验证,因此需要在MongoDB服务器上配置访问控制。
在MongoDB服务器上创建一个用户,用于连接和进行身份验证。可以使用以下命令在Mongo shell中创建用户:
db.createUser({ user: "username", pwd: "password", roles: [{ role: "readWrite", db: "database_name" }] })
将 “username” 替换为所需的用户名,“password” 替换为所需的密码,“database_name” 替换为要连接的数据库的名称。可以根据需要为用户授予不同的角色和权限。
- 在Python代码中使用pymongo连接MongoDB时,需要提供与上一步中创建的用户凭据相对应的用户名和密码。可以使用以下代码示例:
from pymongo import MongoClient username = "username" password = "password" database_name = "database_name" client = MongoClient("mongodb://{}:{}@localhost:27017/{}".format(username, password, database_name)) db = client[database_name]
将 “username” 替换为上一步中创建的用户名,“password” 替换为上一步中创建的密码,“database_name” 替换为上一步中创建的数据库名称。确保将"localhost:27017"替换为正确的MongoDB服务器地址和端口号。
- 运行Python代码,应该可以成功连接到MongoDB服务器并进行身份验证。
如果仍然遇到连接认证失败的问题,请确保在步骤1和步骤2中正确配置了MongoDB服务器的访问控制和用户凭据,并且在步骤3中正确提供了用户名、密码和数据库名称。