如果在 MongoDB 中开启了身份验证(auth)认证,并且认证失败,可以尝试以下解决方案:
检查用户名和密码是否正确:确保输入的用户名和密码与在 MongoDB 中创建的用户凭据匹配。
检查 MongoDB 的配置文件:打开 MongoDB 的配置文件(通常位于/etc/mongod.conf或/etc/mongodb.conf),确保以下配置项设置正确:
security.authorization
:设置为enabled
。
security.authentication
:设置为enabled
或者on
。
sudo systemctl restart mongod
检查 MongoDB 日志:查看 MongoDB 的日志文件,通常位于/var/log/mongodb/mongod.log,以获取更多有关认证失败的详细错误信息。
更改 MongoDB 用户的角色:如果您使用的用户角色没有足够的权限访问数据库,可以尝试将用户角色更改为更高级别的角色,例如dbOwner
或userAdminAnyDatabase
。
重置管理员用户的密码:如果管理员用户的密码遗忘或丢失,可以通过重置管理员用户的密码来解决认证失败的问题。可以通过在不使用身份验证的模式下启动 MongoDB,并运行以下命令来重置密码:
use admin
db.updateUser("admin", {pwd: "<new_password>"})
如果上述解决方案无法解决问题,可能需要进一步检查 MongoDB 的配置和日志以确定问题的根本原因,并采取相应的措施解决。