mongodb创建数据库(MongoDB 7.0 完整部署指南:从安装到远程访问)

mongodb创建数据库(MongoDB 7.0 完整部署指南:从安装到远程访问)
MongoDB 7.0 完整部署指南:从安装到远程访问

适用系统: Ubuntu 24.04
目标版本: MongoDB 7.0 Community Edition
最终目标: 实现安全的远程图形化连接 (Compass) 及代码访问

第一阶段:安装 MongoDB 7.0

官方推荐使用 APT 仓库安装,以便后续自动接收安全更新。

1. 准备系统环境

mongodb创建数据库(MongoDB 7.0 完整部署指南:从安装到远程访问)

首先更新包列表并安装必要的工具(gnupg 和 curl):

sudo apt-get updatesudo apt-get install -y gnupg curl

2. 导入 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 \ --dearmor

3. 添加 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.list

4. 安装 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 mongod

6. 验证安装状态

检查服务是否运行正常:

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 mongod

2. 创建管理员用户

免密登录 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 mongod

4. 验证认证是否生效

现在不带密码登录应该会被拒绝:

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 mongod

2. 配置操作系统防火墙 (UFW)

允许 27017 端口通过:

sudo ufw allow 27017/tcpsudo ufw reload

第四阶段:远程连接测试

使用 MongoDB Compass (图形界面)

  1. 下载并安装 MongoDB Compass。
  2. 打开软件,在连接字符串框输入:
        mongodb://gxw:123456gxw@<你的服务器公网IP>:27017/?authSource=admin

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有