2016-02-10 80 views
1

首先,我作为管理员登录到我的MongoDB:我为什么会遇到异常:尝试登录到mongodb时登录失败?

sudo mongo admin --username root --password XXXXXXXX 

然后我创建了root角色另一个用户:

> use admin 
> db.createUser(
    { 
     user: "myuser", 
     pwd: "myPassw", 
     roles: [ "root" ] 
    } 
) 

然后我写道:

> db.getUsers() 

和我的用户是有:

{ 
    "_id" : "admin.root", 
    "user" : "root", 
    "db" : "admin", 
    "roles" : [ 
     { 
      "role" : "readWriteAnyDatabase", 
      "db" : "admin" 
     }, 
     { 
      "role" : "userAdminAnyDatabase", 
      "db" : "admin" 
     }, 
     { 
      "role" : "dbAdminAnyDatabase", 
      "db" : "admin" 
     }, 
     { 
      "role" : "clusterAdmin", 
      "db" : "admin" 
     } 
    ] 
}, 
{ 
    "_id" : "admin.myuser", 
    "user" : "myuser", 
    "db" : "admin", 
    "roles" : [ 
     { 
      "role" : "root", 
      "db" : "admin" 
     } 
    ] 
} 

现在,当我尝试登录:

sudo mongo admin --username myuser --password myPassw 
MongoDB shell version: 3.2.1 
connecting to: /opt/bitnami/mongodb/tmp/mongodb-27017.sock:27017/admin 
2016-02-10T21:23:53.964+0000 E QUERY [thread1] Error: Authentication failed. : 
[email protected]/mongo/shell/db.js:1395:16 
@(auth):6:1 
@(auth):1:2 

exception: login failed 

是什么原因呢?我重新启动了mongodb进程,但它没有帮助。

=======编辑:

以下罗比意见后,我跑的命令,而不sudo,不幸的是这是结果:

[email protected]:~/stack$ mongo admin -u myuser -p myPassw 
MongoDB shell version: 3.2.1 
connecting to: /opt/bitnami/mongodb/tmp/mongodb-27017.sock:27017/admin 
2016-02-10T21:56:15.615+0000 W NETWORK [thread1] Failed to connect to /opt/bitnami/mongodb/tmp/mongodb-27017.sock:0, reason: errno:13 Permission denied 
2016-02-10T21:56:15.615+0000 E QUERY [thread1] Error: couldn't connect to server /opt/bitnami/mongodb/tmp/mongodb-27017.sock:27017, connection attempt failed : 
[email protected]/mongo/shell/mongo.js:226:14 
@(connect):1:6 

exception: connect failed 
+0

当您以管理员身份登录时,'db.auth('myuser','myPassw')'是否工作? – Robbie

+0

它返回'1'。这很好吗? – user3766930

+0

“db.auth()在身份验证不成功时返回0,操作成功时返回1”看起来用户很好 - 尝试连接到没有sudo的shell。 – Robbie

回答

3

我找到了解决办法,

密码中的符号是问题,因为我有$符号,更改密码没有符号为我工作!

+0

非常感谢,就是这样! – user3766930

+0

你需要在单引号''pa $$ word''之间加密码。 – Pobe

相关问题