1. 程式人生 > >[轉] mongodb下載、安裝、配置與使用

[轉] mongodb下載、安裝、配置與使用

win7 spa 追加 簡單的 clip 進入 沒有 出現 端口

記得在管理員模式下運行CMD,否則服務將啟動失敗。

詳細圖解,記錄 win7 64 安裝mongo數據庫的過程。安裝的版本是 MongoDB-win32-x86_64-2008plus-ssl-3.4.1-signed。

- 下載和安裝,圖有點多,不怕啰嗦,就怕不夠。

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片
圖上的說的是剛剛安裝完的時候的樣子,打錯字啦。

  • 創建幾個文件夾具體如下:數據庫路徑(data目錄)、日誌路徑(logs目錄)和日誌文件(mongo.log文件)

註意文件夾的前後對比:

技術分享圖片

  • 創建配置文件mongo.conf,文件內容如下:

#數據庫路徑
dbpath=D:Mongodata

#日誌輸出文件路徑
logpath=D:Mongologsmongo.log
#錯誤日誌采用追加模式
logappend=true
#啟用日誌文件,默認啟用
journal=true
#這個選項可以過濾掉一些無用的日誌信息,若需要調試使用請設置為false
quiet=true
#端口號 默認為27017
port=27017

技術分享圖片

  • 啟動MongoDB服務

mongod --config "D:Mongomongo.conf"
這個是使用自己剛剛在上面配置的配置文件來啟動服務的。註意修改成自己的目錄位置。額,這個當然是在cmd命令行窗口的對應安裝bin目錄下拉這個是在cmd命令行下執行這個命令的,執行完之後,命令行,似乎沒什麽太大的變動,然後你繼續執行下面的步驟。這個步驟的截圖,在下面的第四步裏面是可以看到這個步驟的命令執行效果的。可以先看下下面的那個步驟圖。

命令執行後,瀏覽器中輸入http://127.0.0.1:27017看到如下界面即說明啟動成功

技術分享圖片

技術分享圖片
有的可能在這裏失敗了,也許頁面並沒有這麽顯示,但是不要緊,你看看剛剛的那個data目錄下有沒有文件生成,還有log文件有沒有內容。如果有,那麽就是服務啟動了,還可以在任務管理器裏面,看看有沒有這麽個mongo的服務存在。都是可以判斷這個服務啟動OK沒有。

  • 創建並啟動MongoDB服務
    如果每次都如上操作,豈不是相當麻煩,按照如下命令來創建並啟動MongoDB服務,就可以通過windows服務來管理MongoDB的啟動和關閉了

mongod --config "D:Mongomongo.conf" --install --serviceName "MongoDB"

net start MongoDB
上面是2行的命令

技術分享圖片

技術分享圖片
這個服務的啟動,是有點特殊的。是不需要登錄驗證的,就是沒有密碼也可以登錄。具體看下圖。這個是用mongoVUE登錄看到的效果

技術分享圖片

技術分享圖片
等一下,圖上的描述不是很正確,應該是我就創建了一個數據庫叫lxkdb,上面的另外的2個一個叫admin,和local都是安裝完mongo db之後,自動生成的數據庫。

也可以看到上面並不存在一個叫test的數據庫,所以說,系統默認存在一個叫test數據庫的說法是錯誤的。下面還會解釋這個問題。
這句話是後來更新的:上面說這個test不存在,也不完全對,具體看最下面的解釋吧。先不在意這個

其中admin這個數據庫存放的是用戶信息。
關於這個用戶信息,不是我們想的那麽簡單的只是存個用戶名和密碼就完了。
MongoDB 缺省是沒有設置權限的,也就是說,沒有設置訪問權限。
這就意味著只要知道 MongoDB 服務器的端口,任何能訪問到這臺服務器的人都可以查詢和操作 MongoDB 數據庫的內容。
也就是像我上面測試的那樣,啥也不輸入,都可以直接測試連接OK。
所以:加上 --auth 這樣以後就可以使用用戶名和密碼後才能進行MongoDB的相關操作
MongoDB 的用戶和權限,這個有點復雜,先有個印象。

數據庫用戶有兩種,一種是管理員,用來管理用戶,一種是普通用戶,用來訪問數據。
(後面我會繼續說說這個兩種權限的數據庫用戶是到底怎麽在用的)


註意:

下面這個帶權限控制的安裝服務,你呢,暫時先別整,這個權限你要是開了的話,必須先在數據庫裏面建個賬戶和密碼。
這個就像你在把鎖鎖住之前得先準備好鑰匙的道理似的。所以,在你不了解這個權限的情況下,暫時還不是先不加這個權限控制。
等看了怎麽新建管理用戶和一般數據庫用戶之後再打開這個權限。後面我再好好總結一下。


關於--安全和認證--的解釋:

每個MongoDB實例中的數據庫都可以有許多用戶。如果開啟了安全性檢查,則只有數據庫認證用戶才能執行讀或者寫操作。
在認證的上下文中,MongoDB會將普通的數據作為admin數據庫處理。admin數據庫中的用戶被視為超級用戶(即管理員)。
在認證之後,管理員可以讀寫所有數據庫,執行特定的管理命令,如listDatabases和shutdown。
在開啟安全檢查之前,一定要至少有一個管理員賬號。

後面跟鏈接:詳細圖解記錄 win7 64 mongodb 新建管理者賬戶和一般賬戶的例子

然後,把這個服務給卸載了(下面有講解怎麽卸載這個服務,我這就不重復啦),然後再次註冊個服務的話,命令多添加個 --auth。

mongod --config "D:Mongomongo.conf" --auth --install --serviceName "MongoDB"
net start MongoDB
也可以在配置文件裏面再加一個auth=true的配置。效果差不多吧。
然後就不能沒有密碼直接登錄啦。

註意啦:這個mongoVUE的版本太低了,導致即使你賬號密碼OK,還是會出現異常的情況,在我經歷了多次卸載重裝服務之後,換了個mongo數據庫工具,特麽的可算是OK了。
那就暫時先不管這個工具的報錯了吧。下一篇我示範如何使用這個數據庫,在這知道這個權限問題,就好。
而且這個權限問題,很是麻煩。

技術分享圖片
剛剛安裝好的mongo服務有個默認的數據庫,test,user 的name和pwd都是test。如下圖。

技術分享圖片
點test,測試一下,連接是不是OK的。然後就有上圖了
本來我是看別人的文章上說,mongo剛剛安裝完畢的時候,是有個test數據庫,然後用戶名和密碼都是test,然後我用那個mongoVUE這個可視化工具測試了下。
發現測試連接是OK的,也就是如圖上所示。然後我就 以為真的是有這個數據庫存在的,但是後來又想了想,不對呀,好像不是這樣的。
後面我反復測試那個權限問題的時候,發現,這個mongoVUE,即使你不填寫用戶名和密碼,隨便填寫個數據庫名稱,然後測試連接,也是可以測試OK的。

技術分享圖片
但是我用另一個新發現的mongo數據庫工具,就沒有這個問題。

技術分享圖片
而且也用這個mongo數據庫工具,可以看到那個 --auth的效用還是存在的,我這個暫時還沒測試,無權限管控的啟動服務,然後用這個登錄數據庫看看啥情況。
有空了,或者,看官你測試一下唄。就是剛剛沒加--auth啟動服務的時候,是不是不用賬戶密碼,就可使用這個工具連上數據庫。

這個工具的網址,算是個開源的項目吧。
Robomongo 0.9.0
http://blog.robomongo.org/rob...
我下載的到某度雲盤的分享
鏈接:http://pan.baidu.com/s/1bp8ALDP 密碼:iaie

兩個工具比較之後,可以發現這個mongoVUE的版本確實太低了。下一篇 有這個mongoVUE的版本圖。

如果需要卸載MongoDB服務,則還是在bin目錄下,
mongod.exe --remove --serviceName "MongoDB"

技術分享圖片
然後這個服務就刪除了,然後你再在那個任務管理器裏面就看不到這個服務啦。說明他就被幹掉了。刪除啦。

以後要是想停止這個服務,你就右鍵,啟動任務管理器,選上面的服務,然後右下角的“服務(s)...”,然後找到那個名為MongoDB的系統服務,關掉就可以啦

技術分享圖片
至此,所有操作已完成,服務已成功安裝。
我就暫時先把這個mongo的數據庫在我的電腦上裝好,具體怎麽使用。以後再說。

這個時候,再看剛剛我們新建的data文件夾和mongo.log兩個文件的時候就發現裏面有數據啦,也可以說明,這一路的操作都很OK的。

技術分享圖片

技術分享圖片
額,呵呵,就是我這圖上傳的有點多。。。

最後,每次要在命令行使用mongo命令,都得進入到對應的bin目錄下,這樣很是麻煩,何不配置個系統環境變量,方便直接使用,這個mongo命令

技術分享圖片
這樣就可以直接在cmd命令行,不需要進行目錄切換,就可以直接使用啦

技術分享圖片
關於數據庫裏面的test數據庫存在與否的解釋:

技術分享圖片

技術分享圖片

[轉] mongodb下載、安裝、配置與使用