温馨提示×

debian怎么连mongodb

小樊
44
2026-10-02 11:50:55
栏目: 云计算

在 Debian 上连接 MongoDB,通常分两种情况:本地连接(MongoDB 装在 Debian 上)和远程连接(从 Debian 连别的机器上的 MongoDB)。下面按最常见场景说明。


一、Debian 上安装并本地连接 MongoDB

1. 安装 MongoDB(以 MongoDB 6.x / 7.x 为例)

# 安装依赖
sudo apt update
sudo apt install -y curl gnupg

# 导入 MongoDB 官方 GPG 密钥
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
  sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

# 添加软件源(Debian 12 bookworm 示例)
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

# 安装
sudo apt update
sudo apt install -y mongodb-org

2. 启动 MongoDB

sudo systemctl start mongod
sudo systemctl enable mongod

检查状态:

sudo systemctl status mongod

3. 本地连接

mongosh

或(老版本):

mongo

二、从 Debian 远程连接 MongoDB

1. 确保远程 MongoDB 允许连接

在 MongoDB 配置文件(通常是 /etc/mongod.conf)中:

net:
  bindIp: 0.0.0.0   # 或指定 IP
  port: 27017

修改后重启:

sudo systemctl restart mongod

⚠️ 生产环境建议配合 防火墙 + 账号密码 + TLS


2. 在 Debian 上安装客户端

如果不想装完整 MongoDB,只装客户端:

sudo apt install mongodb-mongosh

或安装完整版(见上文)


3. 使用 mongosh 连接

mongosh "mongodb://用户名:密码@主机IP:27017/数据库名"

示例:

mongosh "mongodb://admin:123456@192.168.1.100:27017/test"

带认证数据库:

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

三、用程序连接(示例)

Python

pip install pymongo
from pymongo import MongoClient

client = MongoClient("mongodb://user:pwd@192.168.1.100:27017/")
db = client["test"]
print(db.list_collection_names())

Node.js

npm install mongodb
const { MongoClient } = require("mongodb");
const uri = "mongodb://user:pwd@192.168.1.100:27017/";

MongoClient.connect(uri).then(client => {
  console.log("connected");
});

四、常见问题

连接被拒绝

  • MongoDB 没启动
  • bindIp 没配置
  • 防火墙(ufw / iptables)拦截

认证失败

  • 用户不存在
  • 认证数据库不对
  • 密码含特殊字符需 URL 编码

如果你能告诉我:

  • MongoDB 装在哪(本机 / 云服务器)
  • Debian 版本
  • 是否用账号密码

我可以给你更精确的步骤。

0 踩