詳細圖解mongodb 3.4.1 win7x64安裝

原文:http://www.cnblogs.com/yucongblog/p/6895983.html

?

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

我下載的源文件:mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed
我的系統:win 7 64 bit 8g內存
為了方便下載,我把我當時下載的這個包,放在某度的云盤上。
鏈接:http://pan.baidu.com/s/1o80MF1o 密碼:fi3k

?

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

注意這個安裝的位置,下面要用呢。

圖上的說的是剛剛安裝完的時候的樣子,打錯字啦。

?

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

注意文件夾的前后對比:

?

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

  1. #數據庫路徑??
  2. dbpath=D:\Mongo\data??
  3. #日志輸出文件路徑??
  4. logpath=D:\Mongo\logs\mongo.log??
  5. #錯誤日志采用追加模式??
  6. logappend=true??
  7. #啟用日志文件,默認啟用??
  8. journal=true??
  9. #這個選項可以過濾掉一些無用的日志信息,若需要調試使用請設置為false??
  10. quiet=true??
  11. #端口號?默認為27017??
  12. port=27017???


3. 啟動MongoDB服務

mongod --config "D:\Mongo\mongo.conf"?
這個是使用自己剛剛在上面配置的配置文件來啟動服務的。注意修改成自己的目錄位置。額,這個當然是在cmd命令行窗口的對應安裝bin目錄下拉

這個是在cmd命令行下執行這個命令的,執行完之后,命令行,似乎沒什么太大的變動,然后你繼續執行下面的步驟。

這個步驟的截圖,在下面的第四步里面是可以看到這個步驟的命令執行效果的。可以先看下下面的那個步驟圖。
命令執行后,瀏覽器中輸入http://127.0.0.1:27017看到如下界面即說明啟動成功

有的可能在這里失敗了,也許頁面并沒有這么顯示,但是不要緊,你看看剛剛的那個data目錄下有沒有文件生成,還有log文件有沒有內容。如果有,那么就是服務啟動了,

還可以再,任務管理器里面,看看有沒有這么個mongo的服務存在。都是可以判斷這個服務啟動OK沒有。

?

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

mongod --config "D:\Mongo\mongo.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 新建管理者賬戶和一般賬戶的例子

?

(這個你剛剛開始學習的時候,可以先不開權限驗證,那么在登錄數據庫的時候,就不需要賬號和密碼,操作也簡單。)

(以下操作是,打開權限認證,使用數據庫之前,必須先驗證一下,才可以繼續,Authentication,也就是經常會看到這個單詞。)

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

mongod --config "D:\Mongo\mongo.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/robomongo-0-9-0-final/
我下載的到某度云盤的分享
鏈接:http://pan.baidu.com/s/1bp8ALDP 密碼:iaie

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

?

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

然后這個服務就刪除了,然后你再在那個任務管理器里面就看不到這個服務啦。說明他就被干掉了。刪除啦。

?

上面介紹的是從安裝mongo服務到卸載mongo服務,都是有圖有真相。

下面介紹一些其他的東西。

?

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



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

?

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

額,呵呵,就是我這圖上傳的有點多。。。

?

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

?

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

?

關于數據庫里面的test數據庫存在與否的解釋:

?

下一篇具體講解怎么新建普通的數據庫用戶和數據庫管理者用戶。

也就是上面你看到兩個數據庫是以及登錄數據庫的賬號和密碼是怎么設置的。

(這個我已經把鏈接添加在文章內部了。可以點擊鏈接查看。)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541328.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java calendar_Java Calendar complete()方法與示例

java calendarCalendar類的complete()方法 (Calendar Class complete() method) complete() method is available in java.util package. complete()方法在java.util包中可用。 complete() method is used to fills in any non-set fields in the calendar fields. complete()方…

LXD 2.0 系列(十二):調試,及給 LXD 做貢獻

介紹 終于要結束了!這個大約一年前開始的這系列文章的最后一篇博文。 LXD 入門安裝與配置你的第一個 LXD 容器資源控制鏡像管理遠程主機及容器遷移LXD 中的 DockerLXD 中的 LXD實時遷移LXD 和 JujuLXD 和 OpenStack調試,及給 LXD 做貢獻如果你從一開始就…

linux用ping命令測試網速,linux下面使用命令測試網速

大家都知道在speedtest是市面上最準確最全面的測速工具,但在linux命令行不能直接使用,所以我們就借助腳本調用speedtest的接口來利用他測試網速。1.下載speedtest-cli腳本:下載地址:https://raw.githubusercontent.com/sivel/spee…

Java ArrayList isEmpty()方法與示例

ArrayList類isEmpty()方法 (ArrayList Class isEmpty() method) isEmpty() method is available in java.util package. isEmpty()方法在java.util包中可用。 isEmpty() method is used to check whether this Arraylist is "empty" or "not empty". isEmp…

linux家用系統版本,查看linux系統版本

篇一:linux下如何查看系統和內核版本linux下如何查看系統和內核版本 1. 查看內核版本命令:1) [rootq1test01 ~]# cat /proc/versionLinux version 2.6.9-22.ELsmp (bhcompilecrowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1…

python中locked_Python鎖類| 帶示例的locked()方法

python中lockedPython Lock.locked()方法 (Python Lock.locked() Method) locked() is an inbuilt method of the Lock class of the threading module in Python. Locked()是Python中線程模塊的Lock類的內置方法。 This method returns True if the lock is acquired by a th…

rocksdb ubuntu c++源碼編譯測試

2019獨角獸企業重金招聘Python工程師標準>>> 環境: ubuntu16.4 需要安裝 snappy gflage bz2 zstd 以及g 其中zstd是facebook開放源代碼里的壓縮的庫 git clone https://github.com/facebook/rocksdb.git cd rocksdb make static_lib 成功生成 librocksd…

vs生成linux服務器程序,從Visual Studio到Linux上調試C++代碼

從Visual Studio到Linux上調試C代碼04/30/20155 分鐘可看完本文內容[原文發表時間] 2015/4/29 10:00 PM正如您可能已經聽說的那樣,Visual Studio 2015新推出了對Android開發的GDB支持。有趣的是,因為這項功能依賴GDB調試,我們完全可能稍加改動…

java clock計時_Java Clock類| 實例的Instant()方法

java clock計時Clock Class Instant()方法 (Clock Class instant() method) instant() method is available in java.time package. Instant()方法在java.time包中可用。 instant() method is used to get the current instant that is used with this Clock. Instant()方法用于…

使用國內DOCKER鏡像源

在國內,通過Docker的pull和push命令訪問hub.docker時,網絡十分慢,而且會出現各種各樣的網絡連接問題。因此這里介紹下如何使用國內的鏡像源,這里以DaoCloud為例。注冊DaoCloud用戶;注冊完成后,會進入dashboard頁面&…

linux命令top查看進程,linux 查看進程的命令(top)

標簽:top操作系統支持多任務并不是計算機同時做很多事情,而是快速的輪換著執行這些任務。linux安排不同的程序等待使用CPU。進程的工作方式:當系統啟動的時候,內核先把自己的程序初始化為進程,然后運行一個init的程序&…

stl vector 函數_vector :: back()函數以及C ++ STL中的示例

stl vector 函數C vector :: back()函數 (C vector::back() function) vector::back() is a library function of "vector" header, it is used to access the last element from the vector, it returns a reference to the last element of the vector. vector ::…

linux udp 端口 抓包,tcpdump之UDP抓包

摘要使用tcpdump抓UDP包,過濾過濾IP和port,并且自動拆分片段。安裝tcpdumpyum install -y tcpdump使用方法tcpdump -i bond0 udp port xxxx and host xxx.x.xx.xxx -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap參數說明-i 指定監聽的網卡udp 監聽UDP協議port 指定…

Vue版本過渡變化

到了2.0以后&#xff0c;有哪些變化&#xff1a; 在每個組件模板&#xff0c;不在支持片段代碼之前: <template id”aaa”><h3>我是組件</h3><strong>我是加粗標簽</strong></template> 現在: 必須有根元素&#xff0c;包裹住所有的代碼 …

NABARD的完整形式是什么?

NABARD&#xff1a;國家農業和農村發展銀行 (NABARD: National Bank for Agriculture and Rural Development) NABARD is an abbreviation of National Bank for Agriculture and Rural Development. NABARD是國家農業和農村發展銀行的縮寫 。 On 12 July 1982, it was establ…

基于opencv+Dlib的面部合成(Face Morph)

引自&#xff1a;http://blog.csdn.net/wangxing233/article/details/51549880 零、前言 前段時間看到文章【1】和【2】&#xff0c;大概了解了面部合成的基本原理。這兩天空下來了&#xff0c;于是參考【3】自己實現了下。雖然【1】和【2】已經講的很清楚了&#xff0c;但是有…

大腦應對危機的模式_危機的完整形式是什么?

大腦應對危機的模式危機&#xff1a;印度信用評級信息服務有限公司 (CRISIL: Credit Rating Information Services of India Limited) CRISIL is an abbreviation of Credit Rating Information Services of India Limited. It is an international analytic company which off…

linux網絡延遲命令,2. Linux使用ping命令查看網絡延遲

ping命令持續發送少量互聯網流量到遠程地址并報告收到回應的總時間。如果流量因為網絡故障或者錯誤配置而被丟棄&#xff0c;它也會報告。ping命令是最基本和初級的診斷網絡問題的工具之一。ping常被用來測試網絡延遲&#xff0c;但是有時ping的延遲并不是網絡引起的&#xff0…

一、簡單工廠模式

# public class Operation //基類{private double _numberA 0;private double _numberB 0;public double NumberA{get{ return _numberA; }set{_numberA value;}}public double NumberB{get{ return _numberB; }set{_numberB value;}}public virtual double GetResult(){d…

軟件生命周期模型及其類型

A life cycle model is also known as a process model. As the name suggests, the software life cycle model (or the software process model) gives us a pictorial representation of the entire software development process. 生命周期模型也稱為過程模型 。 顧名思義&…