在 Linux 上配置 MongoDB 开启认证(Authentication),通常步骤如下(以 MongoDB 4.x / 5.x / 6.x 为例,使用 mongod.conf):
MongoDB 的配置文件一般位于:
/etc/mongod.conf
编辑该文件:
sudo vi /etc/mongod.conf
在配置文件中加入或修改:
security:
authorization: enabled
(如果是旧版本,也支持 authorization: "enabled")
net:
bindIp: 127.0.0.1,你的服务器IP
port: 27017
在开启认证前或后都可以,但首次必须创建用户
mongo
或(新版本)
mongosh
use admin
db.createUser({
user: "admin",
pwd: "你的密码",
roles: [{ role: "root", db: "admin" }]
})
sudo systemctl restart mongod
或
sudo service mongod restart
mongo -u admin -p --authenticationDatabase admin
或
mongosh -u admin -p --authenticationDatabase admin
mongodb://admin:密码@127.0.0.1:27017/?authSource=admin
use mydb
db.createUser({
user: "appuser",
pwd: "apppass",
roles: [{ role: "readWrite", db: "mydb" }]
})
连接:
mongodb://appuser:apppass@127.0.0.1:27017/mydb
admin 库创建了用户--authenticationDatabase adminauthorization: enabledmongo 本地登录后修改密码mongod --config /etc/mongod.conf --validate
如果你用的是 Docker / Ubuntu / CentOS / MongoDB 7,可以告诉我,我可以给你对应版本的配置示例。