在 CentOS 上配置 MongoDB 用户名(账号密码),一般分为以下几个步骤:
假设你已经安装好 MongoDB(如 4.x / 5.x / 6.x),并且服务能正常启动。
查看服务状态:
systemctl status mongod
如果还没开启认证,先确认 mongod.conf 中 未开启 auth
vim /etc/mongod.conf
确保没有或注释掉:
security:
authorization: enabled
重启 MongoDB:
systemctl restart mongod
MongoDB 的账号是 基于数据库 的,先建一个管理员。
mongo
(MongoDB 6+ 可用 mongosh)
use admin
db.createUser({
user: "root",
pwd: "StrongPassword123",
roles: [ { role: "root", db: "admin" } ]
})
✅ root 权限最大,适合管理用
比如给 testdb 建一个读写用户:
use testdb
db.createUser({
user: "testuser",
pwd: "TestPwd123",
roles: [
{ role: "readWrite", db: "testdb" }
]
})
编辑配置文件:
vim /etc/mongod.conf
添加:
security:
authorization: enabled
重启服务:
systemctl restart mongod
mongo -u root -p --authenticationDatabase admin
或指定数据库:
mongo -u testuser -p --authenticationDatabase testdb
mongodb://testuser:TestPwd123@localhost:27017/testdb
authenticationDatabase 正确如果远程连接:
firewall-cmd --add-port=27017/tcp --permanent
firewall-cmd --reload
如果你愿意,我可以:
你当前 MongoDB 是哪个版本?CentOS 几?