如何使用Python连接远程MongoDB数据库及获取对应连接URI
Python远程连接MongoDB操作指南
1. 远程连接URI获取方式
URI是MongoDB的标准连接字符串,根据你使用的MongoDB部署方式不同,获取方法分为两类:
自建部署MongoDB(自己装在服务器上的版本)
你需要提前收集以下信息拼接URI:
- 远程服务器的公网IP地址
- MongoDB服务开放的端口(默认27017,自定义端口需替换)
- 有权限访问目标库的账号、密码
- 账号鉴权所属的数据库(默认是
admin库)
URI标准拼接格式为:mongodb://<账号>:<密码>@<服务器公网IP>:<端口>/<目标数据库名>?authSource=<鉴权库名>
MongoDB Atlas云托管版本
直接进入对应集群的管理面板,点击「连接」按钮,选择「连接到应用程序」选项,即可直接复制官方生成的标准URI,只需把URI内的占位符<password>替换为你设置的集群访问密码即可。
2. 远程连接代码示例
只需把本地连接代码里的本地URI替换为你拿到的远程URI即可:
import pymongo # 替换为你自己的远程连接URI remote_uri = "mongodb://test_user:test_pass@114.xxx.xxx.xxx:27017/mydatabase?authSource=admin" myclient = pymongo.MongoClient(remote_uri) # 执行测试:打印所有数据库名称,验证连接是否正常 print(myclient.list_database_names()) # 后续操作和本地连接完全一致 mydb = myclient["mydatabase"] mycol = mydb["customers"]
注意:生产环境禁止将连接URI明文硬编码在代码中,建议通过环境变量或者加密配置文件读取敏感信息
3. 常见连接失败排查
- 远程服务器的防火墙、云服务商安全组规则,需放开MongoDB端口的入站访问,允许你本地IP的访问请求
- 自建MongoDB的配置文件中,
bind_ip参数不能仅绑定127.0.0.1,需修改为0.0.0.0或者指定允许访问的IP段 - 确认账号密码输入正确,
authSource参数值和账号实际所属的鉴权库一致 - 若使用Atlas云服务,需要在Atlas控制台的「网络访问」面板,将你本地的公网IP添加到访问白名单
内容的提问来源于stack exchange,提问作者Nyaaaaaaaa
相关产品推荐
相关产品推荐

