适用系统: Ubuntu 24.04
目标版本: MongoDB 7.0 Community Edition
最终目标: 实现安全的远程图形化连接 (Compass) 及代码访问
第一阶段:安装 MongoDB 7.0
官方推荐使用 APT 仓库安装,以便后续自动接收安全更新。
1. 准备系统环境

首先更新包列表并安装必要的工具(gnupg 和 curl):
sudo apt-get updatesudo apt-get install -y gnupg curl2. 导入 MongoDB 公钥
导入官方 GPG 密钥以验证包的完整性
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \ sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \ --dearmor3. 添加 MongoDB 源
创建源列表文件。
注意:如果你的 Ubuntu 版本不是 22.04 (jammy),通常也可以使用 jammy 源,MongoDB 7.0 对 24.04 (noble) 兼容良好。
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list4. 安装 MongoDB
重新加载包数据库并安装:
sudo apt-get updatesudo apt-get install -y mongodb-org说明: mongodb-org 是一个元包,会自动安装 mongod, mongo-shell, mongos 等所有组件
5. 启动并设置开机自启
sudo systemctl daemon-reloadsudo systemctl start mongodsudo systemctl enable mongod6. 验证安装状态
检查服务是否运行正常:
sudo systemctl status mongod看到 active (running) 即表示安装成功。此时尝试本地连接:
mongosh # 如果能进入 test> 提示符,说明安装无误。输入 exit 退出。第二阶段:配置用户与认证(关键)
默认安装的 MongoDB 没有密码,且直接开放端口极其危险。我们需要创建管理员用户并开启认证。
1. 临时关闭认证(用于创建第一个用户)
编辑配置文件:
sudo nano /etc/mongod.conf找到 security 部分(如果没有则新建),确保它是关闭状态
# /etc/mongod.confsecurity:authorization: disabled保存退出 (Ctrl+O, Enter, Ctrl+X),重启服务:
sudo systemctl restart mongod2. 创建管理员用户
免密登录 MongoDB:
mongosh
在 Shell 中执行以下命令(请修改为你自己的强密码):
use admindb.createUser({user: "gxw",pwd: "123456gxw", // 生产环境请更换为复杂密码!roles: [ { role: "root", db: "admin" } ]})看到 { ok: 1 } 表示创建成功。输入 exit 退出。
3. 开启认证并重启
再次编辑配置文件:
sudo nano /etc/mongod.conf修改 security 部分为 enabled:
security: authorization: enabled重启服务:
sudo systemctl restart mongod4. 验证认证是否生效
现在不带密码登录应该会被拒绝:
mongosh# 预期结果:Error: Authentication failed.使用密码登录应该成功:
mongosh -u gxw -p 123456gxw --authenticationDatabase admin# 预期结果:成功进入 shell第三阶段:配置远程访问
默认情况下,MongoDB 只监听 127.0.0.1,外部无法连接。需修改绑定 IP 并配置防火墙。
1. 修改绑定 IP (bindIp)
编辑配置文件:
sudo nano /etc/mongod.conf找到 net 部分,修改 bindIp:
net: port: 27017 # 修改前: bindIp: 127.0.0.1 # 修改后: 0.0.0.0 表示允许所有 IP 连接 bindIp: 0.0.0.0 ⚠️ 安全警示: 设置为 0.0.0.0 后,必须依赖强密码和防火墙保护。如果可能,建议仅绑定服务器的内网 IP 或通过 SSH 隧道连接。
重启服务:
sudo systemctl restart mongod2. 配置操作系统防火墙 (UFW)
允许 27017 端口通过:
sudo ufw allow 27017/tcpsudo ufw reload第四阶段:远程连接测试
使用 MongoDB Compass (图形界面)
- 下载并安装 MongoDB Compass。
- 打开软件,在连接字符串框输入:
mongodb://gxw:123456gxw@<你的服务器公网IP>:27017/?authSource=admin