温馨提示×

centos mongodb怎么设置账号

小樊
45
2026-09-11 18:55:05
栏目: 云计算

在 CentOS 上设置 MongoDB 账号,一般包括启用鉴权、创建管理员账号、创建业务库账号几个步骤。下面按常见场景说明(以 MongoDB 4.x/5.x/6.x 为例,使用 mongod 服务)。


一、修改 MongoDB 配置,开启鉴权

  1. 编辑配置文件(常见路径):
sudo vi /etc/mongod.conf
  1. 找到 security 部分,改成如下(如果没有就加上):
security:
  authorization: enabled
  1. 重启 MongoDB:
sudo systemctl restart mongod

如果还没装 MongoDB,可以先 yum install -y mongodb-org


二、先创建管理员账号(重要)

第一次未开启鉴权前或刚开启但还没账号时,可以直接连:

mongo
# 或新版本
mongosh

切换到 admin 库并创建管理员:

use admin

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

三、用管理员登录并创建业务账号

mongo -u root -p --authenticationDatabase admin

1️⃣ 给某个数据库创建读写账号

use mydb

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

2️⃣ 创建只读账号

db.createUser({
  user: "readonly",
  pwd: "ReadPwd123",
  roles: [
    { role: "read", db: "mydb" }
  ]
})

四、连接时使用账号

mongo -u appuser -p --authenticationDatabase mydb

或 URI 方式:

mongodb://appuser:AppPwd123@localhost:27017/mydb

五、常用管理命令

查看用户:

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

修改密码:

db.changeUserPassword("appuser", "NewPwd123")

删除用户:

db.dropUser("appuser")

六、注意点(CentOS 常见坑)

  • 防火墙firewalld 要放行 27017
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
  • 绑定 IP:如果远程连接,修改
net:
  bindIp: 0.0.0.0
  • 生产环境不要用 root 账号连业务库

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

  • MongoDB 版本
  • 是否 CentOS 7 / 8 / Stream
  • 是否 Docker 安装

我可以给你更精确的命令

0