前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB 远程连接

MongoDB 远程连接

作者头像
为为为什么
发布2023-05-09 16:39:25
3.8K0
发布2023-05-09 16:39:25
举报
文章被收录于专栏:又见苍岚又见苍岚

之前介绍过 MongoDB 的安装与使用,大多都是本地应用,但是 MongoDB 本身支持网络访问,本文记录开启与测试方法。

开启网络访问权限

默认配置

MongoDB 支持网络访问,但是出于安全考虑,默认没有开启其他 IP 的主机访问权限。

如果需要跨主机访问 MongoDB 需要专门开启相关功能。

开启权限

本质上,目标是向 MongoDB 开启命令中加入允许远程访问的 IP 和端口

配置文件

网上有说法配置 mongod.cfg 文件, 进入软件安装的bin位置: \bin

代码语言:javascript
复制
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1

我们可以进行 portbindIp 设置,

  1. 自定义端口需保证对应端口未被占用且端口开放;
  2. ip 权限设置,分为两种设置,指定唯一端口以及全部开放,但暂不支持两种方式掺杂使用

指定多个端口连接,中间用“,”分割

代码语言:javascript
复制
#举例
bindIp: 127.0.0.1,127.0.0.2

无端口限制设置有两种

  • 第一种情况
代码语言:javascript
复制
bindIp: 0.0.0.0,::
  • 第二种情况:直接添加(设置此种可以去掉bindIp)
代码语言:javascript
复制
bind_ip_all: true 

注意事项:修改配置文件后一定要重启服务:

  • 启动命令
代码语言:javascript
复制
net start MongoDB
  • 停止命令
代码语言:javascript
复制
net stop MongoDB
命令行配置

如果没有找到文件 mongo.conf 也可以在命令行上加入配置

添加允许访问的客户端主机 IP

代码语言:javascript
复制
mong0 --host 198.51,100,1

如果允许所有 IP 访问,添加参数:

代码语言:javascript
复制
mongod  --bind_ip_all

连接测试

配置完成后需要测试远程客户主机是否能成功访问:

代码语言:javascript
复制
import mtutils as mt
from pymongo import MongoClient

conn = MongoClient('192.168.1.55', 27017)
print(conn)
print(conn.list_database_names())

pass

输出

代码语言:javascript
复制
MongoClient(host=['192.168.1.55:27017'], document_class=dict, tz_aware=False, connect=True)
['admin', 'config', 'foobar', 'local']

能输出数据库名字就说明链接成功~

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年5月8日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开启网络访问权限
    • 默认配置
      • 开启权限
        • 配置文件
        • 命令行配置
    • 连接测试
    • 参考资料
    相关产品与服务
    云数据库 MongoDB
    腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档