通过 Studio 3T 远程连接 CentOS 7 上的 MongoDB

通过 Studio 3T 远程连接 CentOS 7 上的 MongoDB

本教程介绍如何配置 CentOS 7 环境(包括虚拟机物理机云服务器)中的 MongoDB,以便从外部主机(例如 Windows 或 macOS 开发机)使用 Studio 3T 图形化界面进行远程连接。

软件版本

本文基于以下软件版本进行操作演示,但步骤适用于大多数 4.x/5.x/6.x 版本。

  • 操作系统: CentOS 7.9
  • MongoDB 版本: 4.4.25
  • Studio 3T Community Edition: 2025.1.0

前提条件

  1. MongoDB 已安装 :确保已在 CentOS 7 服务器上成功安装并运行 MongoDB。(安装教程请参考:CentOS 7 安装 MongoDB
  2. Studio 3T 已安装:确保已在本地主机上安装了 Studio 3T。
  3. 网络连通性
    • 虚拟机用户 :建议使用 桥接模式(Bridged Mode),以便获得独立的局域网 IP。
    • 云服务器用户:确保拥有服务器的公网 IP 地址。

步骤 1:修改 MongoDB 配置文件以允许远程连接

默认情况下,MongoDB 只监听本地回环地址 127.0.0.1,这意味着它只接受来自服务器自身的连接。为了允许外部连接,需要修改此配置。

安全警告 :将 MongoDB 暴露给公网(0.0.0.0)存在安全风险。建议在生产环境中配合 防火墙白名单强制身份认证(用户名/密码) 使用。

  1. 编辑配置文件

    通过 SSH 连接到 CentOS 7 服务器,使用编辑器打开 mongod.conf 文件。

    bash 复制代码
    sudo vi /etc/mongod.conf
  2. 修改 bindIp

    在文件中找到 net 部分,将 bindIp 的值从 127.0.0.1 修改为 0.0.0.0。这会让 MongoDB 监听所有网络接口的连接请求。

    修改前:

    yaml 复制代码
    net:
      port: 27017
      bindIp: 127.0.0.1

    修改后:

    yaml 复制代码
    net:
      port: 27017
      bindIp: 0.0.0.0  # 允许来自任何 IP 地址的连接
  3. 重启 MongoDB 服务

    保存并退出配置文件后,重启 MongoDB 服务以使更改生效。

    bash 复制代码
    sudo systemctl restart mongod

步骤 2:配置 CentOS 7 防火墙

CentOS 7 默认开启 firewalld 防火墙,需要开放 MongoDB 的端口(默认为 27017),以允许外部流量访问。

  1. 开放 27017 端口

    执行以下命令,将 27017 端口添加到防火墙的永久规则中。

    bash 复制代码
    sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent

    --permanent 标志确保此规则在系统重启后依然有效。

  2. 重新加载防火墙配置

    使新的防火墙规则立即生效。

    bash 复制代码
    sudo firewall-cmd --reload
  3. (仅限云服务器)配置云厂商安全组

    如果您使用的是阿里云、腾讯云、AWS 等云服务器,除了 上述系统防火墙外,还需要在云厂商的控制台中,找到该实例的"安全组"或"网络安全"设置,添加入站规则:

    • 协议: TCP
    • 端口: 27017
    • 源 IP : 建议仅允许您自己的 IP 访问(为了安全),或者设置为 0.0.0.0/0(允许所有,仅限测试)。

步骤 3:获取服务器 IP 地址

您需要知道服务器的 IP 地址才能进行连接。

  • 局域网/虚拟机用户

    在终端执行 ip addrifconfig,找到网络接口(如 eth0ens33)下的 IP 地址(例如 192.168.1.108)。

  • 云服务器用户

    请使用云厂商控制台提供的 公网 IP (Public IP)ip addr 命令通常只显示云服务器的内网 IP,外部无法直接连接,请勿使用内网 IP。

步骤 4:在 Studio 3T 中创建新连接

回到本地主机,打开 Studio 3T 并配置连接。

  1. 打开连接管理器

    启动 Studio 3T,点击左上角的 "Connect" 按钮,然后点击 "New Connection"

  2. 选择手动配置

    在弹出的 "New Connection" 窗口中,选择 "Manually configure my connection settings" ,然后点击 "Next"

  3. 填写服务器信息

    "Server" 选项卡中填写:

    • Server: 输入步骤 3 获取的 IP 地址(虚拟机的局域网 IP 或云服务器的公网 IP)。
    • Port : 27017 (保持默认)。
  4. (可选) 填写认证信息

    如果 MongoDB 开启了用户认证(推荐),切换到 "Authentication" 选项卡:

    • Authentication Mode : 通常选择 Basic (SCRAM-SHA-1)Legacy (SCRAM-SHA-1)
    • User name: 数据库用户名。
    • Password: 对应密码。
    • Authentication DB : 用户所在的验证数据库,通常为 admin
  5. 测试连接

    点击左下角的 "Test Connection"。如果配置正确,将显示成功提示。

  6. 保存并连接

    为连接命名(例如 "CentOS 7 MongoDB"),点击 "Save" ,然后点击 "Connect"

故障排查

如果连接失败,请检查以下常见问题:

  • 网络连通性

    在本地主机终端使用 ping <服务器IP> 检查网络是否通畅。

    • 虚拟机:如果 ping 不通,检查 VMware 网络适配器是否处于"桥接模式"。
    • 云服务器 :如果 ping 不通,可能是安全组禁用了 ICMP 协议,尝试直接测试端口(使用 telnet <IP> 27017)。
  • 防火墙双重阻隔

    • 检查 CentOS 内部防火墙 (firewall-cmd --list-ports) 是否包含 27017。
    • 检查云服务器控制台的"安全组"规则是否放行了 27017 端口。
  • MongoDB 绑定 IP

    确保 /etc/mongod.confbindIp 确实已修改为 0.0.0.0 并且服务已重启。

  • 认证失败

    如果启用了认证,确保用户名、密码及 Authentication DB(通常是 admin)填写正确。

相关推荐
小小ken2 小时前
ubuntu添加新网卡时,无法自动获取IP原因及解决办法
linux·网络·tcp/ip·ubuntu·dhcp
Xの哲學2 小时前
Linux 软中断深度剖析: 从设计思想到实战调试
linux·网络·算法·架构·边缘计算
林鸿风采2 小时前
在Alpine Linux上部署docker,并配置开机自启
linux·docker·eureka·alpine
l1t3 小时前
在arm64 Linux系统上编译tdoku-lib的问题和解决
linux·运维·服务器·c语言·cmake
txinyu的博客3 小时前
Linux 内存管理
linux·运维·开发语言·c++
珠穆峰3 小时前
linux清理缓存命令“echo 3 > /proc/sys/vm/drop_caches”
java·linux·缓存
Xの哲學3 小时前
Linux自旋锁深度解析: 从设计思想到实战应用
linux·服务器·网络·数据结构·算法
晚风吹长发4 小时前
深入理解Linux中用户缓冲区,文件系统及inode
linux·运维·算法·链接·缓冲区·inode
LuckyLay4 小时前
Ubuntu配置多版本Java,自由切换
java·linux·ubuntu