在 Debian 上连接 MongoDB,一般分为 本地连接 和 远程连接 两种情况。下面按常见场景一步步说明。
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 12 是
bookworm,Debian 11 用bullseye
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
mongosh
或直接:
mongosh "mongodb://localhost:27017"
老版本用
mongo,新版本已改为mongosh
show dbs
use admin
db.createUser({
user: "admin",
pwd: "password",
roles: [ { role: "root", db: "admin" } ]
})
sudo nano /etc/mongod.conf
添加或修改:
security:
authorization: enabled
sudo systemctl restart mongod
mongosh -u admin -p password --authenticationDatabase admin
或:
mongosh "mongodb://admin:password@localhost:27017/admin"
sudo nano /etc/mongod.conf
修改:
bindIp: 0.0.0.0
sudo ufw allow 27017
mongosh "mongodb://用户名:密码@服务器IP:27017/数据库名"
示例:
mongosh "mongodb://admin:password@192.168.1.100:27017/admin"
const { MongoClient } = require("mongodb");
const uri = "mongodb://admin:password@localhost:27017";
const client = new MongoClient(uri);
await client.connect();
const db = client.db("test");
from pymongo import MongoClient
client = MongoClient("mongodb://admin:password@localhost:27017/")
db = client["test"]
connect ECONNREFUSED 127.0.0.1:27017
✅ 检查:
sudo systemctl status mongod
✅ 检查:
bindIp 是否为 0.0.0.027017sudo tail -f /var/log/mongodb/mongod.log
如果你愿意,可以告诉我:
我可以给你更精确的命令。