问题:
执行 db.auth(‘username’, ‘password’),
monoDB 认证失败,
出现Error: Authentication failed.
环境
root、admin、和业务数据库用户都认证失败了
解决方案
- 停止MongoDB,用无身份认证方式打开,
##进入bin目录下, cd ##停止 mongod --shutdown --dbpath=/soft/mongo/mgserver/data/ ##启动 ./mongod --dbpath=/soft/mongo/mgserver/data/ --logpath=/soft/mongo/mgserver/logs/mongod.log --logappend --port=27017 --fork
- 查证
mongo show dbs use ${your db} show users use admin show users
- 修改密码
3.1 修改root密码:
#
mongo
#
db.changeUserPassword('root','${new password}')
#
exit退出
#关闭
mongod --shutdown --dbpath=/soft/mongo/mgserver/data/
#认证启动
./mongod --dbpath=/soft/mongo/mgserver/data/ --logpath=/soft/mongo/mgserver/logs/mongod.log --auth --logappend --port=27017 --fork
#
mongo
#
use admin
#user, pwd
db.auth('','')
同理修改其他用户密码
3.2 新增用户
#
mongo
#
use ${your db}
#
db.createUser({
user: "",
pwd:"",
roles:[{role:"readWrite",db:""}]
})