You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将本地MongoDB Compass连接至第三方VPS中的Mongo数据库?

解决MongoDB Compass连接远程CentOS VPS数据库的问题

一、先修正MongoDB的网络绑定配置

默认情况下,CentOS上预装的MongoDB只会监听127.0.0.1(本地回环地址),这会导致外部连接(包括通过SSH隧道的本地请求)无法访问数据库。你需要调整配置:

  1. 登录VPS后,编辑MongoDB主配置文件(通常路径为/etc/mongod.conf):
    sudo vi /etc/mongod.conf
    
  2. 找到net配置段,修改bindIp为0.0.0.0(允许所有IP访问,配合SSH隧道使用更安全):
    net:
      port: 27017
      bindIp: 0.0.0.0
    
  3. 重启MongoDB服务使配置生效:
    sudo systemctl restart mongod
    
    可通过systemctl status mongod确认服务是否正常运行。

二、正确配置MongoDB Compass连接(推荐SSH隧道方式)

直接开放MongoDB端口到公网存在安全风险,用SSH隧道转发是更稳妥的方案:

  1. 打开MongoDB Compass,点击New Connection
  2. 在Connection String栏填写本地转发地址:
    mongodb://mongousername:你的MongoDB密码@localhost:27017
    
    (这里用localhost是因为SSH隧道会把本地27017端口转发到VPS的27017端口)
  3. 切换到Advanced Options -> SSH Tunnel:
    • 勾选Use SSH Tunnel
    • SSH Hostname:填写VPS公网IP加SSH端口,格式为111.111.111.11:22
    • SSH Username:你的SSH登录用户名sshusername
    • SSH Authentication:选择Identity File,然后选中你本地的RSA私钥文件(对应VPS.ssh目录中公钥的私钥,一般路径是~/.ssh/id_rsa)
  4. 点击Connect,配置正确即可成功建立连接。

如果非要直接连接(不推荐),需要先在VPS防火墙开放27017端口:

sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload

然后Compass的连接字符串填写:

mongodb://mongousername:你的MongoDB密码@111.111.111.11:27017

这种方式会将MongoDB暴露在公网,容易遭受攻击,谨慎使用。

三、关于多连接预设的疑问

你的理解完全正确:

  • 管理员用户(通常拥有root角色)仅用于用户管理、权限分配、实例配置等运维操作,不适合日常业务数据库操作
  • 普通用户(对应不同业务数据库的读写/只读角色)用于日常的数据增删改查操作

你可以在Compass中为每个用户创建独立的连接预设:连接时选择对应用户名,保存为不同的连接名称(比如「管理员连接」「业务库读写用户连接」),方便后续快速切换。

内容的提问来源于stack exchange,提问作者david

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:32:34