1. 程式人生 > >MongoDB3.4安裝配置以及與Robomongo1.1的連接——解決Authentication Failed導致的不能連接問題

MongoDB3.4安裝配置以及與Robomongo1.1的連接——解決Authentication Failed導致的不能連接問題

class .exe oca with www 解決方法 comm ror 命令

本文環境:win10(64)+MongoDB(3.4.5)+Robomongo(1.1)

目錄:

  1. MongoDB的安裝
  2. MongoDB的配置
  3. Robomongo的安裝以及與MongoDB的連接
  4. 一些新出現的幺蛾子

一、MongoDB的安裝

  Step1. 打開MongoDB產品下載頁面https://www.mongodb.com/download-center?jmp=nav#community,選擇Windows Server 2008 R2 64-bit and later, with SSL support x64,點擊下載。當前下載版本是mongoDB3.4.5

技術分享

Step2. 雙擊上一步下載的安裝包,根據安裝向導的提示,一直next

,選擇complete,最後finish,即安裝成功。註意mongodb的安裝目錄

技術分享

二、MongoDB的配置

Step1. 打開mongoDB的bin,記住它的路徑,我的是在C:\Program Files\MongoDB\Server\3.4\bin。接下來,win+R—cmd,打開了命令行,再 cd C:\Program Files\MongoDB\Server\3.4\bin,接下來對mongoDB的配置將在此路徑中進行。

技術分享

Step2. 創建數據庫文件的存放位置

...\bin>mongod,這裏默認指定了dbpath=C:\data\db\,但需要我們自己在C盤根目錄下創建data\db\,否則這一步會出現"dbpath=C:\data\db\ not found"的錯誤提示。不用管這裏的Warning: access is not enabled for the database

技術分享

另外,我們可以自行指定dbpath=D:\my test\data\db,前提是它已經創建好,否則還是出現not found的錯誤提示。命令行中可以這樣敲...bin>mongod --dbpath "D:\my test\data\db"。不用管這裏的Warning: access is not enabled for the database

技術分享

Step3. 在瀏覽器中輸入網址:http://localhost:27017/ 。如果服務啟動成功會看到以下一段話:
It looks like you are trying to access MongoDB over HTTP on the native driver port.

Step4. Step2.的cmd窗口不要關,回到bin文件夾下,管理員身份運行mongo.exe。

技術分享

嘗試敲入以下命令:db; use admin; db.auth("admin", "admin")

>db
test
>use admin
switched to db admin

當我們敲入db.auth("admin", "admin")時,返回為0,出現Error: Authentication failed。也正是這個原因導致robomongo無法連接

>db.auth("admin","admin")
Error: Authentication failed.
0

解決方法是手動添加admin賬戶,創建成功後,再次db.auth("admin", "admin"),返回1

>db.createUser(  
  {  
    user: "admin",  
    pwd: "admin",  
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
  }  
)
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
>db.auth("admin","admin")
1

技術分享

觀察命令行中的狀態,顯示成功授權successfully authenticated。

技術分享

三、Robomongo的安裝以及與MongoDB的連接

Step1. 首先下載Robomongo,官網下載鏈接https://robomongo.org/download,根據下載下來的安裝向導,傻瓜式安裝即可。安裝版本Robo 3T 1.1

技術分享

Step2.  與MongoDB的連接

Robo 3T 1.1:File——connect——create——Connection: Name——Authendication: 是否勾選Perform Authendication

  • 不勾選Perform Authendication——test。註意:即便第二部分Step4中db.auth("admin","admin")返回0,這裏也可連接

技術分享

  • 勾選Perform Authendication——User Name、Password——test。註意:第二部分Step4中db.auth("admin","admin")返回0/1,影響這裏的連接

第二部分Step4中db.auth("admin","admin")返回0

技術分享

第二部分Step4中db.auth("admin","admin")返回1

技術分享

四、新出現的幺蛾子

  1. 網絡掛機,導致第二部分Step4已經添加的admin失效:db.auth("admin","admin")返回0,需要重新添加;
  2. 一旦退出mongo.exe,再次使用時需要對mongoDB重新配置(命令行的配置和管理員身份運行mongo.exe進行的配置),非常麻煩

以上幺蛾子期待大神解決!

MongoDB3.4安裝配置以及與Robomongo1.1的連接——解決Authentication Failed導致的不能連接問題