温馨提示×

Debian怎么连接MongoDB

小樊
41
2026-08-28 15:07:10
栏目: 云计算

在 Debian 上连接 MongoDB,通常分为 安装 MongoDB → 启动服务 → 连接(本地或远程) 几个步骤。下面按常见场景说明。


一、在 Debian 上安装 MongoDB(官方方式,推荐)

Debian 11 (Bullseye) / Debian 12 (Bookworm) + MongoDB 7.x 为例

1. 导入 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

2. 添加 MongoDB APT 源

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

如果是 Debian 11,把 bookworm 改成 bullseye

3. 安装 MongoDB

sudo apt update
sudo apt install -y mongodb-org

二、启动并设置开机自启

sudo systemctl start mongod
sudo systemctl enable mongod

检查状态:

sudo systemctl status mongod

三、本地连接 MongoDB

方法 1:使用 mongo shell(推荐)

MongoDB 7.x 默认使用 mongosh

mongosh

如果未安装 mongosh:

sudo apt install -y mongodb-mongosh

方法 2:使用旧版 mongo(不推荐)

mongo

四、远程连接 MongoDB

1. 修改配置文件

编辑:

sudo nano /etc/mongod.conf

修改以下配置:

bindIp: 0.0.0.0

(默认是 127.0.0.1,只允许本地)

2. 重启 MongoDB

sudo systemctl restart mongod

3. 开放防火墙端口(如使用 UFW)

sudo ufw allow 27017

4. 远程连接

mongosh "mongodb://用户名:密码@服务器IP:27017/数据库名"

示例:

mongosh "mongodb://admin:123456@192.168.1.10:27017/admin"

五、使用用户名密码连接(开启认证)

1. 创建管理员用户

use admin
db.createUser({
  user: "admin",
  pwd: "123456",
  roles: [ { role: "root", db: "admin" } ]
})

2. 启用认证

编辑配置:

security:
  authorization: enabled

重启:

sudo systemctl restart mongod

3. 连接

mongosh -u admin -p --authenticationDatabase admin

六、程序连接示例

Python

from pymongo import MongoClient

client = MongoClient("mongodb://admin:123456@localhost:27017/admin")
print(client.list_database_names())

Node.js

const { MongoClient } = require("mongodb");

const uri = "mongodb://admin:123456@localhost:27017/admin";
const client = new MongoClient(uri);

await client.connect();

七、常见问题

1. 连不上?

  • mongod 是否启动
  • bindIp 是否限制
  • 防火墙是否放行 27017
  • 是否启用认证

2. Debian 官方源没有 MongoDB?

✅ 官方源已移除,必须用 MongoDB 官方源(本文即是)


如果你愿意,可以告诉我:

  • Debian 版本
  • MongoDB 版本
  • 本地还是远程连接
    我可以给你 最精简的一步到位方案

0