温馨提示×

ubuntu mongodb配置权限怎么做

小樊
43
2026-10-25 08:11:32
栏目: 云计算

在 Ubuntu 上给 MongoDB 配置权限,通常包含以下几个步骤:启用鉴权 → 创建管理员用户 → 创建业务数据库和用户 → 使用账号连接。

下面以 Ubuntu 20.04 / 22.04 + MongoDB 5.x/6.x 为例说明。


一、修改 MongoDB 配置,开启认证

1. 编辑配置文件

sudo vim /etc/mongod.conf

2. 找到 security 部分,改为如下内容

security:
  authorization: enabled

如果原来没有 security: 这一段,直接加上即可。

3. 重启 MongoDB

sudo systemctl restart mongod

二、创建管理员用户(第一次必须无密码连)

开启认证前或刚开启时,先连本地:

mongosh

(老版本可能是 mongo)

创建管理员

use admin

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

三、用管理员登录测试

mongosh -u root -p StrongPassword123 --authenticationDatabase admin

四、为具体数据库创建用户(推荐做法)

假设你要用一个数据库 mydb:

use mydb

db.createUser({
  user: "myuser",
  pwd: "MyPass123",
  roles: [
    { role: "readWrite", db: "mydb" }
  ]
})

常用角色说明

角色 说明
read 只读
readWrite 读写
dbAdmin 数据库管理
root 超级管理员
clusterAdmin 集群管理

五、连接数据库(应用使用)

mongosh "mongodb://myuser:MyPass123@localhost:27017/mydb?authSource=mydb"

或在代码中:

mongodb://myuser:MyPass123@localhost:27017/mydb?authSource=mydb

六、常见问题

1. 忘记管理员密码

  • 临时关闭 authorization
  • 重启 mongod
  • 用 admin 库修改用户密码
use admin
db.changeUserPassword("root", "NewPass123")

2. 远程连接权限

在 /etc/mongod.conf:

net:
  bindIp: 0.0.0.0

⚠️ 公网暴露一定要加防火墙 + 强密码 + 最好是 SSH/内网


3. 查看已有用户

use admin
db.system.users.find().pretty()

如果你愿意,可以告诉我:

  • MongoDB 版本
  • 是否 Docker
  • 是否云服务器
  • 用什么语言连接(Node / Python / Java)

我可以给你更针对性的配置示例。

0 踩