通过 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
前提条件
- MongoDB 已安装 :确保已在 CentOS 7 服务器上成功安装并运行 MongoDB。(安装教程请参考:CentOS 7 安装 MongoDB)
- Studio 3T 已安装:确保已在本地主机上安装了 Studio 3T。
- 网络连通性 :
- 虚拟机用户 :建议使用 桥接模式(Bridged Mode),以便获得独立的局域网 IP。
- 云服务器用户:确保拥有服务器的公网 IP 地址。
步骤 1:修改 MongoDB 配置文件以允许远程连接
默认情况下,MongoDB 只监听本地回环地址 127.0.0.1,这意味着它只接受来自服务器自身的连接。为了允许外部连接,需要修改此配置。
安全警告 :将 MongoDB 暴露给公网(0.0.0.0)存在安全风险。建议在生产环境中配合 防火墙白名单 和 强制身份认证(用户名/密码) 使用。
-
编辑配置文件 :
通过 SSH 连接到 CentOS 7 服务器,使用编辑器打开
mongod.conf文件。bashsudo vi /etc/mongod.conf -
修改
bindIp:在文件中找到
net部分,将bindIp的值从127.0.0.1修改为0.0.0.0。这会让 MongoDB 监听所有网络接口的连接请求。修改前:
yamlnet: port: 27017 bindIp: 127.0.0.1修改后:
yamlnet: port: 27017 bindIp: 0.0.0.0 # 允许来自任何 IP 地址的连接 -
重启 MongoDB 服务 :
保存并退出配置文件后,重启 MongoDB 服务以使更改生效。
bashsudo systemctl restart mongod
步骤 2:配置 CentOS 7 防火墙
CentOS 7 默认开启 firewalld 防火墙,需要开放 MongoDB 的端口(默认为 27017),以允许外部流量访问。
-
开放 27017 端口 :
执行以下命令,将
27017端口添加到防火墙的永久规则中。bashsudo firewall-cmd --zone=public --add-port=27017/tcp --permanent--permanent标志确保此规则在系统重启后依然有效。 -
重新加载防火墙配置 :
使新的防火墙规则立即生效。
bashsudo firewall-cmd --reload -
(仅限云服务器)配置云厂商安全组 :
如果您使用的是阿里云、腾讯云、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 并配置连接。
-
打开连接管理器 :
启动 Studio 3T,点击左上角的 "Connect" 按钮,然后点击 "New Connection"。
-
选择手动配置 :
在弹出的 "New Connection" 窗口中,选择 "Manually configure my connection settings" ,然后点击 "Next"。
-
填写服务器信息 :
在 "Server" 选项卡中填写:
- Server: 输入步骤 3 获取的 IP 地址(虚拟机的局域网 IP 或云服务器的公网 IP)。
- Port :
27017(保持默认)。
-
(可选) 填写认证信息 :
如果 MongoDB 开启了用户认证(推荐),切换到 "Authentication" 选项卡:
- Authentication Mode : 通常选择
Basic (SCRAM-SHA-1)或Legacy (SCRAM-SHA-1)。 - User name: 数据库用户名。
- Password: 对应密码。
- Authentication DB : 用户所在的验证数据库,通常为
admin。
- Authentication Mode : 通常选择
-
测试连接 :
点击左下角的 "Test Connection"。如果配置正确,将显示成功提示。
-
保存并连接 :
为连接命名(例如 "CentOS 7 MongoDB"),点击 "Save" ,然后点击 "Connect"。
故障排查
如果连接失败,请检查以下常见问题:
-
网络连通性 :
在本地主机终端使用
ping <服务器IP>检查网络是否通畅。- 虚拟机:如果 ping 不通,检查 VMware 网络适配器是否处于"桥接模式"。
- 云服务器 :如果 ping 不通,可能是安全组禁用了 ICMP 协议,尝试直接测试端口(使用
telnet <IP> 27017)。
-
防火墙双重阻隔:
- 检查 CentOS 内部防火墙 (
firewall-cmd --list-ports) 是否包含 27017。 - 检查云服务器控制台的"安全组"规则是否放行了 27017 端口。
- 检查 CentOS 内部防火墙 (
-
MongoDB 绑定 IP :
确保
/etc/mongod.conf中bindIp确实已修改为0.0.0.0并且服务已重启。 -
认证失败 :
如果启用了认证,确保用户名、密码及
Authentication DB(通常是 admin)填写正确。