mongodb出现Authentication failed.
时间: 2023-10-24 18:32:58 浏览: 3308
在执行db.auth(‘username’, ‘password’)时,如果出现了Error: Authentication failed的错误,可能是因为环境中的root、admin和业务数据库用户都认证失败了。解决这个问题的步骤如下:
1. 停止MongoDB服务。可以使用无身份认证的方式打开MongoDB。
2. 进入MongoDB的bin目录下。
3. 使用以下命令停止MongoDB服务:
mongod --shutdown --dbpath=/soft/mongo/mgserver/data/
4. 使用以下命令启动MongoDB服务:
./mongod --dbpath=/soft/mongo/mgserver/data/ --logpath=/soft/mongo/mgserver/logs/mongod.log --logappend --port=27017 --fork
5. 使用以下命令验证数据库和用户信息:
mongo
show dbs
use ${your db}
show users
use admin
show users
6. 修改密码:
- 修改root用户密码:
# mongo
# db.changeUserPassword('root','${new password}')
# exit退出
- 关闭MongoDB服务:
mongod --shutdown --dbpath=/soft/mongo/mgserver/data/
- 使用以下命令认证启动MongoDB服务:
./mongod --dbpath=/soft/mongo/mgserver/data/ --logpath=/soft/mongo/mgserver/logs/mongod.log --auth --logappend --port=27017 --fork
- 使用以下命令验证用户密码是否修改成功:
mongo
use admin
db.auth('','')
- 同样的步骤也可以修改其他用户的密码。
7. 新增用户:
- mongo
- use ${your db}
- db.createUser({ user: "", pwd:"", roles:[{role:"readWrite",db:""}] })
参考资料中提到,可能出现Authentication failed的错误是因为没有正确指定数据库。确保在创建用户时使用了正确的数据库名称。例如,使用use admin指定数据库。另外,还要确保创建的用户具有正确的权限角色。
综上所述,要解决mongodb出现Authentication failed的问题,可以按照上述步骤进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文