在 Debian 上重置 MongoDB 密码,通常取决于你是否能用管理员权限登录 MongoDB。下面按常见场景说明。
如果你记得某个有 userAdmin / root 权限的账号:
mongo -u admin -p --authenticationDatabase admin
进入后执行:
use admin
db.changeUserPassword("用户名", "新密码")
例如:
db.changeUserPassword("admin", "NewPass@123")
sudo systemctl stop mongod
sudo mongod --dbpath /var/lib/mongodb --noauth --fork --logpath /var/log/mongodb/mongod.log
如果是定制配置,可临时修改
/etc/mongod.conf,注释掉:# security: # authorization: enabled
mongo
use admin
db.changeUserPassword("用户名", "新密码")
或重新创建用户:
db.createUser({
user: "admin",
pwd: "NewPass@123",
roles: ["root"]
})
sudo mongod --shutdown
sudo systemctl start mongod
如果管理员用户丢失:
use admin
db.dropUser("admin")
db.createUser({
user: "admin",
pwd: "NewPass@123",
roles: ["root"]
})
编辑 /etc/mongod.conf:
security:
authorization: enabled
然后:
sudo systemctl restart mongod
mongod 是否在运行admin 库systemctl,不要混用 mongod 手动启动如果你愿意,可以告诉我:
我可以给你更精确的步骤。