要解决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” 替换为要连接的数据库的名称。可以根据需要为用户授予不同的角色和权限。
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服务器地址和端口号。
如果仍然遇到连接认证失败的问题,请确保在步骤1和步骤2中正确配置了MongoDB服务器的访问控制和用户凭据,并且在步骤3中正确提供了用户名、密码和数据库名称。