温馨提示×

debian mongodb怎么开认证

小樊
39
2026-10-20 00:10:57
栏目: 云计算

在 Debian 上给 MongoDB 开启认证(用户名/密码登录),一般按下面步骤来。


一、修改 MongoDB 配置文件

MongoDB 的配置文件通常在:

/etc/mongod.conf

用编辑器打开:

sudo nano /etc/mongod.conf

找到 security 部分,如果没有就加上:

security:
  authorization: enabled

示例(常见格式):

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true

net:
  bindIp: 127.0.0.1
  port: 27017

security:
  authorization: enabled

⚠️ 注意 YAML 格式,缩进必须是空格,不能用 Tab


二、重启 MongoDB

sudo systemctl restart mongod

查看状态:

sudo systemctl status mongod

三、先连上 MongoDB 创建管理员用户

在开启认证前或刚开启后(本地仍可连),先创建管理员:

mongo

或新版本:

mongosh

执行:

use admin

db.createUser({
  user: "admin",
  pwd: "你的强密码",
  roles: [{ role: "root", db: "admin" }]
})

四、使用账号登录测试

退出后重新连接:

mongo -u admin -p --authenticationDatabase admin

或:

mongosh -u admin -p --authenticationDatabase admin

五、(可选)给业务库建普通用户

use mydb

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

连接:

mongo -u appuser -p --authenticationDatabase mydb

六、常见问题

1. 开启认证后连不上

  • 确认 authorization: enabled
  • 确认用户是在正确的 authenticationDatabase 下创建的

2. Debian 上 MongoDB 没安装?

sudo apt install mongodb-org

3. 云服务器安全建议

  • bindIp 不要直接 0.0.0.0
  • 使用防火墙限制端口
  • 使用强密码 + 必要时 SSL

如果你告诉我:

  • MongoDB 版本(4.x / 5.x / 6.x / 7.x)
  • 是否是 Docker / 裸机 / 云服务器

我可以给你更精确的配置示例。

0 踩