温馨提示×

Debian怎么配置MongoDB用户

小樊
41
2026-08-17 09:28:12
栏目: 云计算

在 Debian 上配置 MongoDB 用户(认证用户) 一般分为几个步骤:
1️⃣ 安装 MongoDB
2️⃣ 启用认证
3️⃣ 创建管理员用户
4️⃣ 创建普通数据库用户
5️⃣ 验证登录

下面以 Debian 11 / 12 + MongoDB 6.x / 7.x 为例说明(MongoDB 官方 APT 源方式)。


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

1. 导入 MongoDB 官方 GPG 密钥

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

2. 添加 MongoDB APT 源

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

3. 安装 MongoDB

sudo apt update
sudo apt install -y mongodb-org

4. 启动服务

sudo systemctl enable mongod
sudo systemctl start mongod

二、启用 MongoDB 认证(关键步骤)

1. 修改 MongoDB 配置文件

sudo vim /etc/mongod.conf

找到并修改:

security:
  authorization: enabled

⚠️ 默认 security: 是注释状态,取消注释并加上 authorization: enabled

2. 重启 MongoDB

sudo systemctl restart mongod

三、创建 MongoDB 管理员用户

1. 先以无认证方式进入 MongoDB(如果还没启用认证)

如果已经启用认证,可先临时关闭 authorization,或:

mongosh

2. 切换到 admin 库

use admin

3. 创建管理员用户

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

退出:

exit

四、使用管理员登录并创建普通用户

1. 使用管理员登录

mongosh -u admin -p --authenticationDatabase admin

2. 创建普通数据库用户

例如创建一个 testdb 的读写用户:

use testdb

db.createUser({
  user: "testuser",
  pwd: "TestUserPassword",
  roles: [
    { role: "readWrite", db: "testdb" }
  ]
})

五、常用 MongoDB 用户角色说明

角色 说明
root 超级管理员
readWrite 读写数据库
read 只读
dbAdmin 数据库管理
userAdmin 用户管理

六、验证用户登录

使用普通用户登录

mongosh -u testuser -p --authenticationDatabase testdb

测试:

use testdb
db.test.insertOne({ name: "hello" })
db.test.find()

七、常见问题排查

1. 登录失败

Authentication failed
  • 确认 --authenticationDatabase 是否正确
  • 用户名/密码是否正确

2. 修改用户密码

db.changeUserPassword("testuser", "NewPassword")

3. 删除用户

db.dropUser("testuser")

如果你需要:

  • Docker 方式配置
  • MongoDB 4.x / 5.x
  • 只允许本地或指定 IP 登录
  • 生产环境安全加固

可以告诉我你的具体场景,我可以给你定制方案。

0