本文最后更新于:2024年1月14日 晚上

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

开启网络访问权限

默认配置

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

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

开启权限

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

配置文件

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

1
2
3
4
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1

我们可以进行 portbindIp 设置,

  1. 自定义端口需保证对应端口未被占用且端口开放;

  2. ip 权限设置,分为两种设置,指定唯一端口以及全部开放,但暂不支持两种方式掺杂使用

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

1
2
#举例
bindIp: 127.0.0.1,127.0.0.2

无端口限制设置有两种

  • 第一种情况
1
bindIp: 0.0.0.0,::
  • 第二种情况:直接添加(设置此种可以去掉bindIp)
1
bind_ip_all: true 

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

  • 启动命令
1
net start MongoDB
  • 停止命令
1
net stop MongoDB
命令行配置

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

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

1
mong0 --host 198.51,100,1

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

1
mongod  --bind_ip_all

连接测试

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

1
2
3
4
5
6
7
8
import mtutils as mt
from pymongo import MongoClient

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

pass

输出

1
2
MongoClient(host=['192.168.1.55:27017'], document_class=dict, tz_aware=False, connect=True)
['admin', 'config', 'foobar', 'local']

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

参考资料



文章链接:
https://www.zywvvd.com/notes/coding/dataset/mongodb-remote-test/mongodb-remote-test/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

MongoDB 远程连接
https://www.zywvvd.com/notes/coding/dataset/mongodb-remote-test/mongodb-remote-test/
作者
Yiwei Zhang
发布于
2023年5月8日
许可协议