在 CentOS 上设置 MongoDB 账号,一般包括启用鉴权、创建管理员账号、创建业务库账号几个步骤。下面按常见场景说明(以 MongoDB 4.x/5.x/6.x 为例,使用 mongod 服务)。
sudo vi /etc/mongod.conf
security 部分,改成如下(如果没有就加上):security:
authorization: enabled
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
use mydb
db.createUser({
user: "appuser",
pwd: "AppPwd123",
roles: [
{ role: "readWrite", db: "mydb" }
]
})
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")
firewalld 要放行 27017sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
net:
bindIp: 0.0.0.0
如果你愿意,可以告诉我:
我可以给你更精确的命令。