Mongo DB 是目前在IT行業很是流行的一種非關係型數據庫(NoSql),其靈活的數據存儲方式備受當前IT從業人員的青睞。Mongo DB很好的實現了面向對象的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。Mongo DB最大的優點在於全部的數據持久操做都無需開發人員手動編寫SQL語句,直接調用方法就能夠輕鬆的實現CRUD操做。---摘自百度百科vue
早就瞭解過了MongoDB的優點和神奇之處,但一直沒有抽出時間來好好學學,以爲不能再拖了,今天終於打算正式開始好好學習一下MongoDB,我以爲本身也不是什麼大牛,能力有限哈,因此這個系列的文章,算是對本身學習MongoDB過程當中的記錄和總結,談不上什麼教程,可是會對學習過程當中遇到的問題,進行詳細的分析,整理和總結,不過仍是但願能幫到和我同樣剛接觸MongoDB的新手,若是您有什麼好的意見或發現文章中的錯誤和不足,歡迎交流,批評指正。linux
這裏我會講windows和linux環境下的安裝,至於MAC OS的話,我就一窮學生,沒有設備,只能靠小夥伴們本身研究啊,也但願有條件的小夥伴們將詳細的安裝過程分享出來(儘管網上有現成的)
傳送門http://www.mongodb.org/downloads
至於windows和linux的版本,根據小夥伴們的須要自行決定
先來張圖mongodb
1.windows環境下的是一個msi格式的安裝包,直接雙擊打開便可:shell
2.繼續
若是選擇Complete的話,會默認安裝到C盤,個人電腦C盤已經容不下更多東西了,就先擇Custom,以下圖:
修改安裝目錄,個人安裝目錄爲D:\software\mongodb(截圖時沒注意),和本身須要的組件(不過建議全選),而後下一步進行安裝。
3.將D:\software\mongodb\bin添加到環境變量中:
4.剛裝完,有點興奮,直接在命令行中向試試,結果出現下面的錯誤:
我忘了服務還沒啓動呢
得執行以下命令:數據庫
mongod --dbpath f:\MongoDB\data
f:\MongoDB\data這個路徑指定了文件的存放路徑ubuntu
看到以下信息,說明啓動成功了:
MongoDB監聽的是27017端口,同時打開瀏覽器輸入http://127.0.0.1:27017,則會看到以下提示:windows
It looks like you are trying to access MongoDB over HTTP on the native driver port.瀏覽器
而後,再打開一個cmd,輸入mongo命令連接數據庫,出現以下提示:bash
2015-05-02T17:10:19.467+0800 I CONTROL Hotfix KB2731284 or later update is not installed, will zero-out data files MongoDB shell version: 3.0.2 connecting to: test學習
不過你可能嫌輸命令的這種方式比較麻煩,你能夠將啓動命令寫在批處理文件裏,就像這樣:
start mongod --dbpath F:\MongoDB\data
而後保存成MongoDB.bat,下次只要雙擊運行該腳本便可快速啓動服務。
固然了,你也能夠將MongoDB以服務的方式啓動,不過我以爲在學習的過程當中用處不大,小夥伴們能夠本身嘗試一下,若是有須要的話,我在後面會補上。
至此,windows環境下的mongodb就安裝成功了。
要是以爲命令行很差用,推薦一個帶圖形化界面的軟件:MongoVUE,就和navicat差很少,它有免費版的,就是功能少點,但學習過程當中徹底足夠了
傳送門:http://www.mongovue.com/
鏈接數據庫的過程和navicat差很少,你們能夠本身動手試試,不清楚的歡迎留言詢問。
1.首先仍是得下載嘍,個人環境是elementary OS 0.3 Freya (64-bit),這是一個基於 Ubuntu 14.04的linux系統,至關精美,號稱是最漂亮的linux,體積不大,基本上除了界面以外,其餘的基本上和Ubuntu 14.04沒區別,在後面的敘述中,就當成 Ubuntu 14.04好了,有興趣的小夥伴能夠去官網看看,傳送門http://elementary.io/
因此Mongodb下載的時候就用ubuntu的好了:
附上下載地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.0.2...
我下載的事這個版本的:
mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz
2.接着打開終端,切換到下載目錄,而後執行解壓縮命令,並查看解壓後文件夾裏的內容:
tar -xzvf mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz -C . ls -l mongodb-linux-x86_64-ubuntu1404-3.0.2
文件夾的內容
總用量 68
drwxrwxr-x 2 mybc724 mybc724 4096 5月 3 16:09 bin
-rw-rw-r-- 1 mybc724 mybc724 34520 4月 9 04:43 GNU-AGPL-3.0
-rw-rw-r-- 1 mybc724 mybc724 1359 4月 9 04:43 README
-rw-rw-r-- 1 mybc724 mybc724 22660 4月 9 04:43 THIRD-PARTY-NOTICES
爲了便於管理,我比較喜歡將所非apt安裝的軟件通通挪到/opt目錄下,順便改個好記的名字:
sudo cp -R mongodb-linux-x86_64-ubuntu1404-3.0.2/ /opt/mongodb3.0.2
建立存放文檔和日誌的文件夾,(這個算是我的喜愛,我以爲這麼方便管理,你也可使用默認的路徑,/data/db) :
mkdir -p ~/mongodb/data ~mongodb/log
爲了不每次啓動Mongodb的時候都要輸入很長的路徑,得將/opt/mongodb3.0.2/bin添加到PATH中,病是環境變量生效:
echo export 'PATH=/opt/mongodb3.0.2/bin:$PATH' >> ~/.bashrc source ~/.bashrc
接下來就能夠運行Mongodb啦:
mongod --dbpath=~/mongodb/data --logpath=~/mongodb/log
但不幸的是出現以下提示:
2015-05-03T16:39:59.999+0800 F CONTROL Failed global initialization: FileNotOpen Failed to open "/home/mybc724/~/mongodb/log"
看來是路徑錯了,再試試:
mongod --dbpath=/home/mybc724/mongodb/data --logpath=/home/mybc724/mongodb/log/logfile
好了,這下OK了~
有一點你們得注意一下
那就是在指定logpath的時候,必需要指明一個文件才行,若是隻給個路徑是不行的,會出現以下提示:
2015-05-03T16:46:53.584+0800 F CONTROL Failed global initialization: FileNotOpen logpath "/home/mybc724/mongodb/log" should name a file, not a directory.
另外,~/mybc724/mongodb/data,這樣的路徑寫法也是不行的,必須寫成/home/mybc724/mongodb/data才行,小夥伴們注意一下.
若是不指定--logpath,Mongodb會將本次運行過程當中全部的信息輸出到屏幕上,指定--logpath後Mongodb會將日誌信息寫入文件中,就像我上面指定的logfile,那麼會在~/mongodb/log/下生成相似於這樣的文件:logfile.2015-05-03T08-48-15
好了,咱們如今測試一下是否能正常鏈接
輸入命令mongo,便可進入shell環境:
MongoDB shell version: 3.0.2
connecting to: test
Server has startup warnings:
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten]
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten]
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-05-03T17:03:45.963+0800 I CONTROL [initandlisten]
固然了,啓動一下服務就要寫那麼長的命令,很麻煩,這裏設置一下別名:
echo 'alias mymongod="mongod --dbpath=/home/mybc724/mongodb/data --logpath=/home/mybc724/mongodb/log/logfile"' >> ~/.bashrc source ~/.bashrc
注意,命令中>>與>的區別,別一不當心將配置文件覆蓋了,最好備份一下
好了,試試看新命令:mymongod
~一切OK
到此,windows和linux環境下的Mongodb就安裝完成了,寫了這麼多,連我都嫌本身囉嗦,不過誰讓本身是菜鳥呢,但願這是一個良好的開端