加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数据库 – MongoDB Auth,可以在shell中进行身份验证,但不能通过

发布时间:2020-12-13 12:43:28 所属栏目:百科 来源:网络整理
导读:我有一个应用程序连接到名为讨论的MongoDB数据库.我创建了一个用户 Mongo shell: use discussionsswitched to db discussions db.auth("discussions","XXXXXXXXX")1 show users{ "_id" : "discussions.discussions","user" : "discussions","db" : "discuss
我有一个应用程序连接到名为讨论的MongoDB数据库.我创建了一个用户

Mongo shell:

> use discussions
switched to db discussions
> db.auth("discussions","XXXXXXXXX")
1
> show users
{
        "_id" : "discussions.discussions","user" : "discussions","db" : "discussions","roles" : [
                {
                        "role" : "dbOwner","db" : "discussions"
                }
        ]
}

这是为了确认我在数据库上有一个帐户,它是一个dbOwner.根据文档,它具有READ,WRITE等权限.

配置文件启用了“auth = true”属性,并且该服务自更改后不止一次被退回.

但问题是,当我尝试从shell外部连接到数据库时,我总是得到错误:

mongo  discussions -u 'discussions' -p 'XXXXXXXXX'
MongoDB shell version: 2.6.3
connecting to: discussion
2014-08-05T01:00:39.026+0400 Error: 18 { ok: 0.0,errmsg: "auth failed",code: 18 } at src/mongo/shell/db.js:1210
exception: login failed

我在Stackoverflow上看到过关于这个的问题,它们都与用户名和密码周围的引号有关…但是将单引号更改为双引号并没有产生更好的结果.

解决方法

也许我错了,但正确的形式是这样的:

mongo –port 27017 -u manager -p 12345678 –authenticationDatabase admin

您可以在mongo文档中阅读此内容:

http://docs.mongodb.org/manual/tutorial/add-user-to-database/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读