通过 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 addr 或 ifconfig,找到网络接口(如 eth0 或 ens33)下的 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.conf 中 bindIp 确实已修改为 0.0.0.0 并且服务已重启。

  • 认证失败 :

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

相关推荐
byte轻骑兵17 分钟前
【BlueZ】hciconfig 工具:蓝牙适配器管理实操 + 源码实现基础
linux·bluez·电脑蓝牙·嵌入式蓝牙
SKH.22 分钟前
Linux驱动-系统移植
linux·服务器
根目录下的猫22 分钟前
虚拟机复制过来运行时:“虚拟机使用的此版本,VMware Workstation 不支持的硬件版本。”错误解决办法,亲测可用
linux·运维·服务器·后端
yunwei3740 分钟前
eBPF 入门实践教程十七:编写 eBPF 程序统计随机/顺序磁盘 I/O
linux·后端·性能优化
帷幕落秋1 小时前
内存、虚拟内存与 OOM
linux·运维
dingdingfish1 小时前
TLPI 第41章 读书笔记:Fundamentals of Shared Libraries
linux·static·link·dynamic·library·tlpi
Apipi*1 小时前
30天速通Linux 第五章Linux 进程管理
linux·运维·服务器
杨云龙UP1 小时前
PostgreSQL 四种常见部署模式快速理解:单实例、流复制、repmgr、Patroni
linux·运维·数据库·postgresql·流复制·高可用ha
流浪0011 小时前
Linux系统篇46——线程(十一) 生产者消费者模型,三种关系和一个交易场所
linux·线程·并发·同步·互斥·阻塞队列·生产者消费者模型
Jason_zhao_MR2 小时前
新一代电能数据采集终端方案
linux·人工智能·嵌入式硬件·fpga开发·嵌入式