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


本文環境: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

也可以指定logpath,如mongod --dbpath "D:\my test\data\db" --logpath "D:\my test\data\log\mongodb.log",那么控制台顯示的內容將保存到日志中。

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進行的配置),非常麻煩

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

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com