在 Debian 上设置 MongoDB,最推荐的方式是从 MongoDB 官方仓库 安装,而不是使用 Debian 自带的老版本。下面按 最新稳定版(MongoDB 7.x) 说明,适用于 Debian 11/12。
sudo apt update
sudo apt install -y curl gnupg
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
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
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/debian bullseye/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
sudo systemctl start mongod
sudo systemctl enable mongod
检查运行状态:
sudo systemctl status mongod
mongosh
或(旧版本):
mongo
成功后会看到 MongoDB shell 提示符。
配置文件位置:
/etc/mongod.conf
bindIp: 127.0.0.1 # 允许访问的 IP
port: 27017 # 默认端口
如需远程访问:
bindIp: 0.0.0.0
修改后重启:
sudo systemctl restart mongod
mongosh
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword",
roles: [ { role: "root", db: "admin" } ]
})
security:
authorization: enabled
重启 MongoDB:
sudo systemctl restart mongod
登录方式:
mongosh -u admin -p --authenticationDatabase admin
sudo ufw allow 27017
⚠️ 不建议直接暴露到公网,应使用 SSH 隧道或内网访问。
sudo systemctl stop mongod
sudo apt purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
✅ systemctl 报错
确认 mongod 配置正确:
mongod --config /etc/mongod.conf
✅ Debian 自带版本太旧
不要使用:
apt install mongodb
请从官方仓库安装。
如果你告诉我:
我可以给你更精确的安装方案 ✅