Ubuntu 解决 MongoDB 中 couldn‘t add user: command createUser requires authentication报错
报错解释:
这个错误表明在尝试向MongoDB数据库中添加一个用户时出现了问题。具体来说,是因为尝试创建用户的操作需要在已经进行了认证(authentication)的情况下才能执行。
解决方法:
- 启动MongoDB实例时启用认证模式。这可以通过在MongoDB配置文件中设置
security.authorization
为enabled
或在启动命令中添加--auth
选项来实现。 - 连接到MongoDB实例后,首先需要使用具有管理员权限的用户登录到admin数据库。
- 创建具有管理员权限的用户,以便能够在数据库中添加新用户。
- 使用第一步创建的管理员用户登录后,尝试再次添加用户。
示例命令:
mongod --auth # 启动MongoDB并启用认证
mongo # 连接到MongoDB
use admin; # 切换到admin数据库
db.auth('adminUser', 'adminPassword'); # 使用管理员用户登录
use myDatabase; # 切换到目标数据库
db.createUser({ user: 'newUser', pwd: 'newUserPassword', roles: [{ role: 'readWrite', db: 'myDatabase' }] }); # 创建新用户
确保替换adminUser
和adminPassword
为你的管理员用户的用户名和密码,同样替换newUser
和newUserPassword
为你想要创建的新用户的用户名和密码。
评论已关闭