在 Debian 上连接 MongoDB,通常分为 安装 MongoDB → 启动服务 → 连接(本地或远程) 几个步骤。下面按常见场景说明。
以 Debian 11 (Bullseye) / Debian 12 (Bookworm) + MongoDB 7.x 为例
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
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
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
检查状态:
sudo systemctl status mongod
MongoDB 7.x 默认使用 mongosh:
mongosh
如果未安装 mongosh:
sudo apt install -y mongodb-mongosh
mongo
编辑:
sudo nano /etc/mongod.conf
修改以下配置:
bindIp: 0.0.0.0
(默认是 127.0.0.1,只允许本地)
sudo systemctl restart mongod
sudo ufw allow 27017
mongosh "mongodb://用户名:密码@服务器IP:27017/数据库名"
示例:
mongosh "mongodb://admin:123456@192.168.1.10:27017/admin"
use admin
db.createUser({
user: "admin",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
})
编辑配置:
security:
authorization: enabled
重启:
sudo systemctl restart mongod
mongosh -u admin -p --authenticationDatabase admin
from pymongo import MongoClient
client = MongoClient("mongodb://admin:123456@localhost:27017/admin")
print(client.list_database_names())
const { MongoClient } = require("mongodb");
const uri = "mongodb://admin:123456@localhost:27017/admin";
const client = new MongoClient(uri);
await client.connect();
mongod 是否启动bindIp 是否限制✅ 官方源已移除,必须用 MongoDB 官方源(本文即是)
如果你愿意,可以告诉我: