温馨提示×

MongoDB在Debian怎么连接

小樊
43
2026-08-02 05:12:01
栏目: 云计算

在 Debian 上连接 MongoDB,一般分为 本地连接远程连接 两种情况。下面按常见场景一步步说明。


一、在 Debian 上安装 MongoDB(如已安装可跳过)

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 源

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 12 是 bookworm,Debian 11 用 bullseye

3. 安装 MongoDB

sudo apt update
sudo apt install -y mongodb-org

4. 启动并设置开机启动

sudo systemctl start mongod
sudo systemctl enable mongod

5. 检查状态

sudo systemctl status mongod

二、本地连接 MongoDB(最常用)

1. 使用 mongo shell(推荐)

mongosh

或直接:

mongosh "mongodb://localhost:27017"

老版本用 mongo,新版本已改为 mongosh

2. 查看数据库

show dbs

三、指定用户名密码连接(开启认证后)

1. 创建管理员用户(示例)

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

2. 修改配置文件开启认证

sudo nano /etc/mongod.conf

添加或修改:

security:
  authorization: enabled

3. 重启 MongoDB

sudo systemctl restart mongod

4. 使用账号密码连接

mongosh -u admin -p password --authenticationDatabase admin

或:

mongosh "mongodb://admin:password@localhost:27017/admin"

四、远程连接 MongoDB

1. 修改配置文件

sudo nano /etc/mongod.conf

修改:

bindIp: 0.0.0.0

2. 开放防火墙端口(如启用 ufw)

sudo ufw allow 27017

3. 远程连接

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

示例:

mongosh "mongodb://admin:password@192.168.1.100:27017/admin"

五、使用编程语言连接(示例)

Node.js

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

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

await client.connect();
const db = client.db("test");

Python

from pymongo import MongoClient

client = MongoClient("mongodb://admin:password@localhost:27017/")
db = client["test"]

六、常见问题排查

1. 连接被拒绝

connect ECONNREFUSED 127.0.0.1:27017

✅ 检查:

sudo systemctl status mongod

2. 远程连不上

✅ 检查:

  • bindIp 是否为 0.0.0.0
  • 云服务器安全组是否放行 27017
  • 是否开启认证

3. 查看日志

sudo tail -f /var/log/mongodb/mongod.log

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

  • ✅ Debian 版本
  • ✅ MongoDB 是否已安装
  • ✅ 本地还是远程连接
  • ✅ 是否启用了账号密码

我可以给你更精确的命令

0