明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

mongodb 3.4下遠(yuǎn)程連接認(rèn)證失敗應(yīng)該如何辦?

[摘要]這篇文章主要給大家介紹了在mongodb 3.4下遠(yuǎn)程連接認(rèn)證失敗的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。前言mongodb開啟或者關(guān)閉授權(quán)功能時(shí)還是挺麻煩的,需要新建服務(wù)鍵入mongod --auth。為了方便,我這里是...
這篇文章主要給大家介紹了在mongodb 3.4下遠(yuǎn)程連接認(rèn)證失敗的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。

前言

mongodb開啟或者關(guān)閉授權(quán)功能時(shí)還是挺麻煩的,需要新建服務(wù)鍵入mongod --auth。為了方便,我這里是建了兩個(gè)服務(wù),用到哪個(gè)就切換至哪個(gè)服務(wù)。


--需要授權(quán)

mongod --logpath "D:\data\log\mongodb.log" --logappend --dbpath "D:\data\db" --auth --serviceName 

"MongoDBService" --serviceDisplayName "MongoDBService" --install

--不需要授權(quán)

mongod --logpath "D:\data\log\mongodb.log" --logappend --dbpath "D:\data\db" --serviceName 

"MongoDBServiceNoAuth" --serviceDisplayName "MongoDBServiceNoAuth" --install

進(jìn)入正題,我這邊配置mongodb后,本地是可以通過db.auth('username','password')進(jìn)入的,遠(yuǎn)程使用客戶端工具及c#代碼都無法進(jìn)入。檢查并沒有開啟防火墻,mongodb數(shù)據(jù)庫又是默認(rèn)所有ip都可以訪問的。

后來偶然看到"使用Robomongo 連接MongoDB 3.x 報(bào) Authorization failed 解決辦法 "這篇文章按照上面的方法做就可以了。

方法如下:

1.首先我這邊通過數(shù)據(jù)庫版本查看發(fā)現(xiàn)是這樣的。


> use admin

switched to db admin

> db.system.version.find()

{ "_id" : "featureCompatibilityVersion", "version" : "3.4" }

{ "_id" : "authSchema", "currentVersion" : 5 }

2.開啟MongoDBServiceNoAuth服務(wù),使用db.dropUser('username')命令刪除之前所有原有的用戶,再執(zhí)行版本更改命令。


>db.dropUser('admin')

>db.dropUser('root')

>db.dropUser('dba')

>db.system.version.update({"_id":"authSchema"},{$set:{"currentVersion":3}})

3.去重復(fù)創(chuàng)建用戶

> db.createUser({user:"admin",pwd:"********",roles:[{"role":"userAdminAnyDataba

se","db":"admin"},{"role":"readWrite","db":"qxkf"}]})

Successfully added user: {

  "user" : "admin",

  "roles" : [

    {
      "role" : "userAdminAnyDatabase",

      "db" : "admin"

    },
    {
      "role" : "readWrite",

      "db" : "qxkf"

    }

  ]

}

4.可以使用Robomongo工具檢測(cè)是否可以訪問,這里顯示是PASS了。

mongodb 3.4下遠(yuǎn)程連接認(rèn)證失敗應(yīng)該怎么辦?

以上就是mongodb 3.4下遠(yuǎn)程連接認(rèn)證失敗應(yīng)該怎么辦?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。