PyMongo连接MongoDB Atlas认证失败,求解决方法
MongoDB Atlas 认证失败(bad auth)的解决建议
检查连接字符串中的用户名和密码
- 确认用户名是MongoDB Atlas中创建的数据库用户,而非Atlas账户的登录邮箱
- 密码需与数据库用户设置的完全一致,注意大小写、特殊字符;若密码包含@、:、/等特殊字符,需进行URL编码(比如@替换为
%40) - 避免手动输入连接字符串,直接从Atlas控制台复制生成的字符串,减少拼写错误
验证数据库用户权限
- 登录Atlas控制台,进入对应集群的「Database Access」页面
- 检查该用户是否拥有至少
readAnyDatabase权限,或针对目标数据库的读写权限;权限不足时点击编辑按钮添加对应权限
确认IP白名单配置
- 进入Atlas控制台的「Network Access」页面
- 检查运行代码的机器公网IP是否在白名单内,或是否临时开启「Allow access from anywhere」(生产环境不建议)
- 若IP未在列表,点击「Add IP Address」添加当前机器IP,或输入
0.0.0.0/0允许所有IP访问
检查连接字符串参数
- 确保
authSource参数正确,默认是admin;若用户在其他数据库创建,需指定对应authSource,示例:mongodb+srv://user:password@cluster0.mongodb.net/?authSource=myTargetDB
- 确保
测试连接有效性
- 使用MongoDB Compass导入连接字符串测试连接,确认可用后再复制到代码中
更新驱动依赖
- 执行命令升级PyMongo及相关依赖:
pip install --upgrade pymongo dnspython
- 执行命令升级PyMongo及相关依赖:
内容的提问来源于stack exchange,提问作者Elvis
相关产品推荐
相关产品推荐

