温馨提示×

centos mongodb怎么授权

小樊
55
2026-09-27 01:23:48
栏目: 云计算

在 CentOS 上给 MongoDB 做授权(开启用户认证 + 创建用户),一般按下面步骤来。


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

1. 编辑配置文件

vim /etc/mongod.conf

2. 找到 security 配置项,改为如下内容

security:

改成:

security:
  authorization: enabled

如果是 CentOS 上默认 yum 安装的 MongoDB,配置一般是 YAML 格式,注意缩进。

3. 重启 MongoDB

systemctl restart mongod

二、创建管理员用户(必须先建)

1. 先不用密码登录

mongo

2. 切换到 admin 库并创建管理员

use admin

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

三、使用账号登录

mongo -u root -p yourpassword --authenticationDatabase admin

四、给具体数据库创建用户(推荐)

例如给 testdb 建一个读写用户:

use testdb

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

登录方式:

mongo -u testuser -p testpass --authenticationDatabase testdb

五、常用角色说明

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

六、常见问题

1. 启动报错

检查 /etc/mongod.conf 缩进是否正确(YAML 对空格敏感)

2. 忘记管理员密码

  • 注释掉 authorization
  • 重启
  • 登录后修改密码:
use admin
db.changeUserPassword("root", "newpass")

如果你用的是 MongoDB 6.x / 7.x(systemd + mongosh),或者 Docker 版 MongoDB,可以告诉我,我给你对应版本的操作。

0 踩