2016-02-10 161 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

相關問題