如何在Windows服务器上启用Mongo DB远程访问?
Windows系统MongoDB启用远程访问操作步骤
以下操作全部针对Windows环境,和Linux操作路径差异较大,按顺序操作即可:
- 第一步:定位MongoDB配置文件
默认安装路径下配置文件位置为C:\Program Files\MongoDB\Server\<对应版本号>\bin\mongod.cfg,比如安装6.0版本则路径为C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg,可以直接通过资源管理器导航到对应路径,用记事本/Notepad++等文本编辑器打开即可。 - 第二步:修改IP绑定配置
在配置文件中找到net配置段,将默认的bindIp: 127.0.0.1修改为bindIp: 0.0.0.0即可允许所有IP地址访问;如果仅需要给指定IP开权限,可以将多个IP用逗号分隔,例如bindIp: 127.0.0.1,192.168.3.20。注意:该配置文件为YAML格式,修改时保持原有缩进,不要使用Tab键替换空格,否则会导致配置失效服务无法启动。
- 第三步:重启MongoDB服务使配置生效
Windows下不需要执行Linux的systemctl相关命令,两种方式可选:- 图形化操作:按
Win+R组合键输入services.msc回车打开服务管理器,在列表中找到MongoDB(部分版本带版本后缀,如MongoDB Server 6.0)服务,右键选择「重启」即可。 - 命令行操作:以管理员身份打开PowerShell,执行命令
Restart-Service MongoDB即可完成重启。
- 图形化操作:按
- 第四步:配置Windows防火墙放行端口
这一步是多数跨平台教程遗漏的点,不配置防火墙规则外部设备依然无法连接:- 快速命令方式:以管理员身份打开PowerShell,执行以下命令即可创建入站放行规则:
New-NetFirewallRule -DisplayName "MongoDB Remote Access" -Direction Inbound -Protocol TCP -LocalPort 27017 -Action Allow - 图形化操作:打开「高级安全Windows Defender防火墙」,选择「入站规则」-「新建规则」,规则类型选「端口」,协议选TCP,特定本地端口填写
27017,操作选「允许连接」,根据实际使用场景勾选适用的网络配置文件(公网环境不建议勾选,风险极高),最后自定义规则名称保存即可。
- 快速命令方式:以管理员身份打开PowerShell,执行以下命令即可创建入站放行规则:
- 可选安全配置(强烈建议操作)
直接将绑定IP设为0.0.0.0且不开启身份认证,会让数据库完全暴露在网络中,极易被勒索攻击,建议完成基础配置后立刻开启身份认证:- 本地连接MongoDB,在admin库下创建带对应权限的管理员账号
- 在mongod.cfg配置文件中添加
security段配置:security: authorization: enabled - 再次重启MongoDB服务,后续远程连接必须携带正确的账号密码才能访问。
- 连通性测试
在远程设备上通过连接字符串测试连接即可,无认证的连接字符串格式为mongodb://<Windows设备的公网/局域网IP>:27017,开启认证的格式为mongodb://<账号>:<密码>@<Windows设备IP>:27017/?authSource=admin。
常见踩坑提示
- 如果你的MongoDB部署在云服务器上,除了Windows防火墙,还需要在云服务商控制台的安全组规则中放行27017端口的入站流量
- 如果自定义过MongoDB的服务端口,上述操作中所有涉及27017的位置都要替换成你实际使用的端口
- 修改配置文件后如果MongoDB服务启动失败,优先检查YAML格式的缩进、冒号后的空格是否符合规范
内容的提问来源于stack exchange,提问作者John Doe
相关产品推荐
相关产品推荐

