温馨提示×

debian如何开mongodb认证

小樊
42
2026-09-17 14:34:54
栏目: 云计算

在 Debian 上开启 MongoDB 认证(Authentication),通常步骤如下(以 systemd 管理的 MongoDB 为例,适用于 MongoDB 4.x / 5.x / 6.x):


一、修改 MongoDB 配置文件

MongoDB 配置文件一般位于:

/etc/mongod.conf

使用编辑器打开:

sudo nano /etc/mongod.conf

在文件中找到或添加 security 配置:

security:
  authorization: enabled

注意:YAML 对缩进敏感,不要使用 Tab。

示例完整片段:

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

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

net:
  port: 27017
  bindIp: 127.0.0.1

security:
  authorization: enabled

二、先创建管理员用户(重要)

在开启认证前或单机关闭认证时先建用户,否则可能无法登录。

1. 如果还没开启认证

直接连接 MongoDB:

mongo

2. 创建管理员用户

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

三、重启 MongoDB 服务

sudo systemctl restart mongod

查看状态:

sudo systemctl status mongod

四、使用认证方式连接

命令行连接

mongo -u admin -p --authenticationDatabase admin

或:

mongo
use admin
db.auth("admin", "StrongPassword")

五、为业务数据库创建普通用户(推荐)

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

连接:

mongo -u appuser -p --authenticationDatabase mydb

六、常见问题

1. 开启认证后连不上

  • 确认用户是在正确的 admin 或业务库中创建的
  • 确认 authenticationDatabase 正确

2. 忘记管理员密码

  • 临时注释 authorization: enabled
  • 重启 mongod
  • 登录后重置密码
  • 再开启认证

如果你使用的是 MongoDB 7+ / apt 安装 / Docker / 副本集,可以告诉我,我可以给你对应版本的具体配置。

0