摘要:寫在前面的是目前在行業(yè)非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)其靈活的數(shù)據(jù)存儲(chǔ)方式備受當(dāng)前從業(yè)人員的青睞。很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷胨枷朐谥忻恳粭l記錄都是一個(gè)對(duì)象。
寫在前面的
Mongo DB 是目前在IT行業(yè)非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)(NoSql),其靈活的數(shù)據(jù)存儲(chǔ)方式備受當(dāng)前IT從業(yè)人員的青睞。Mongo DB很好的實(shí)現(xiàn)了面向?qū)ο蟮乃枷?OO思想),在Mongo DB中 每一條記錄都是一個(gè)Document對(duì)象。Mongo DB最大的優(yōu)勢(shì)在于所有的數(shù)據(jù)持久操作都無需開發(fā)人員手動(dòng)編寫SQL語句,直接調(diào)用方法就可以輕松的實(shí)現(xiàn)CRUD操作。---摘自百度百科
早就了解過了MongoDB的優(yōu)勢(shì)和神奇之處,但一直沒有抽出時(shí)間來好好學(xué)學(xué),覺得不能再拖了,今天終于打算正式開始好好學(xué)習(xí)一下MongoDB,我覺得自己也不是什么大牛,能力有限哈,所以這個(gè)系列的文章,算是對(duì)自己學(xué)習(xí)MongoDB過程中的記錄和總結(jié),談不上什么教程,但是會(huì)對(duì)學(xué)習(xí)過程中遇到的問題,進(jìn)行詳細(xì)的分析,整理和總結(jié),不過還是希望能幫到和我一樣剛接觸MongoDB的新手,如果您有什么好的意見或發(fā)現(xiàn)文章中的錯(cuò)誤和不足,歡迎交流,批評(píng)指正。
安裝MongoDB 說明這里我會(huì)講windows和linux環(huán)境下的安裝,至于MAC OS的話,我就一窮學(xué)生,沒有設(shè)備,只能靠小伙伴們自己研究啊,也希望有條件的小伙伴們將詳細(xì)的安裝過程分享出來(盡管網(wǎng)上有現(xiàn)成的)
傳送門http://www.mongodb.org/downloads
至于windows和linux的版本,根據(jù)小伙伴們的需要自行決定
先來張圖
1.windows環(huán)境下的是一個(gè)msi格式的安裝包,直接雙擊打開即可:
2.繼續(xù)
如果選擇Complete的話,會(huì)默認(rèn)安裝到C盤,我的電腦C盤已經(jīng)容不下更多東西了,就先擇Custom,如下圖:
修改安裝目錄,我的安裝目錄為D:softwaremongodb(截圖時(shí)沒注意),和自己需要的組件(不過建議全選),然后下一步進(jìn)行安裝。
3.將D:softwaremongodbin添加到環(huán)境變量中:
4.剛裝完,有點(diǎn)興奮,直接在命令行中向試試,結(jié)果出現(xiàn)下面的錯(cuò)誤:
我忘了服務(wù)還沒啟動(dòng)呢
得執(zhí)行如下命令:
mongod --dbpath f:MongoDBdata
f:MongoDBdata這個(gè)路徑指定了文件的存放路徑
看到如下信息,說明啟動(dòng)成功了:
MongoDB監(jiān)聽的是27017端口,同時(shí)打開瀏覽器輸入http://127.0.0.1:27017,則會(huì)看到如下提示:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
然后,再打開一個(gè)cmd,輸入mongo命令鏈接數(shù)據(jù)庫(kù),出現(xiàn)如下提示:
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
不過你可能嫌輸命令的這種方式比較麻煩,你可以將啟動(dòng)命令寫在批處理文件里,就像這樣:
start mongod --dbpath F:MongoDBdata
然后保存成MongoDB.bat,下次只要雙擊運(yùn)行該腳本即可快速啟動(dòng)服務(wù)。
當(dāng)然了,你也可以將MongoDB以服務(wù)的方式啟動(dòng),不過我覺得在學(xué)習(xí)的過程中用處不大,小伙伴們可以自己嘗試一下,如果有需要的話,我在后面會(huì)補(bǔ)上。
至此,windows環(huán)境下的mongodb就安裝成功了。
要是覺得命令行不好用,推薦一個(gè)帶圖形化界面的軟件:MongoVUE,就和navicat差不多,它有免費(fèi)版的,就是功能少點(diǎn),但學(xué)習(xí)過程中完全足夠了
傳送門:http://www.mongovue.com/
連接數(shù)據(jù)庫(kù)的過程和navicat差不多,大家可以自己動(dòng)手試試,不清楚的歡迎留言詢問。
Linux環(huán)境下的安裝與配置1.首先還是得下載嘍,我的環(huán)境是elementary OS 0.3 Freya (64-bit),這是一個(gè)基于 Ubuntu 14.04的linux系統(tǒng),相當(dāng)精美,號(hào)稱是最漂亮的linux,體積不大,基本上除了界面之外,其他的基本上和Ubuntu 14.04沒區(qū)別,在后面的敘述中,就當(dāng)成 Ubuntu 14.04好了,有興趣的小伙伴可以去官網(wǎng)看看,傳送門http://elementary.io/
所以Mongodb下載的時(shí)候就用ubuntu的好了:
附上下載地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.0.2...
我下載的事這個(gè)版本的:
mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz
2.接著打開終端,切換到下載目錄,然后執(zhí)行解壓縮命令,并查看解壓后文件夾里的內(nèi)容:
tar -xzvf mongodb-linux-x86_64-ubuntu1404-3.0.2.tgz -C . ls -l mongodb-linux-x86_64-ubuntu1404-3.0.2
文件夾的內(nèi)容
總用量 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安裝的軟件統(tǒng)統(tǒng)挪到/opt目錄下,順便改個(gè)好記的名字:
sudo cp -R mongodb-linux-x86_64-ubuntu1404-3.0.2/ /opt/mongodb3.0.2
創(chuàng)建存放文檔和日志的文件夾,(這個(gè)算是個(gè)人喜好,我覺得這么方便管理,你也可以使用默認(rèn)的路徑,/data/db) :
mkdir -p ~/mongodb/data ~mongodb/log
為了避免每次啟動(dòng)Mongodb的時(shí)候都要輸入很長(zhǎng)的路徑,得將/opt/mongodb3.0.2/bin添加到PATH中,病是環(huán)境變量生效:
echo export "PATH=/opt/mongodb3.0.2/bin:$PATH" >> ~/.bashrc source ~/.bashrc
接下來就可以運(yùn)行Mongodb啦:
mongod --dbpath=~/mongodb/data --logpath=~/mongodb/log
但不幸的是出現(xiàn)如下提示:
2015-05-03T16:39:59.999+0800 F CONTROL Failed global initialization: FileNotOpen Failed to open "/home/mybc724/~/mongodb/log"
看來是路徑錯(cuò)了,再試試:
mongod --dbpath=/home/mybc724/mongodb/data --logpath=/home/mybc724/mongodb/log/logfile
好了,這下OK了~
有一點(diǎn)大家得注意一下
那就是在指定logpath的時(shí)候,必須要指明一個(gè)文件才行,如果只給個(gè)路徑是不行的,會(huì)出現(xiàn)如下提示:
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會(huì)將本次運(yùn)行過程中所有的信息輸出到屏幕上,指定--logpath后Mongodb會(huì)將日志信息寫入文件中,就像我上面指定的logfile,那么會(huì)在~/mongodb/log/下生成類似于這樣的文件:logfile.2015-05-03T08-48-15
好了,我們現(xiàn)在測(cè)試一下是否能正常連接
輸入命令mongo,即可進(jìn)入shell環(huán)境:
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]
當(dāng)然了,啟動(dòng)一下服務(wù)就要寫那么長(zhǎng)的命令,很麻煩,這里設(shè)置一下別名:
echo "alias mymongod="mongod --dbpath=/home/mybc724/mongodb/data --logpath=/home/mybc724/mongodb/log/logfile"" >> ~/.bashrc source ~/.bashrc
注意,命令中>>與>的區(qū)別,別一不小心將配置文件覆蓋了,最好備份一下
好了,試試看新命令:mymongod
~一切OK
最后到此,windows和linux環(huán)境下的Mongodb就安裝完成了,寫了這么多,連我都嫌自己?jiǎn)?不過誰讓自己是菜鳥呢,希望這是一個(gè)良好的開端
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/18755.html
摘要:來了由秘猿科技與聯(lián)合主辦,亞洲第一屆大會(huì)將于月日在中國(guó)北京正式開啟。將是一次亞洲社區(qū)的大聚會(huì),也因?yàn)榇舜未髸?huì),亞洲本土的社區(qū)連接到了全球其它地區(qū)的社區(qū)。未來,我們將推進(jìn)到亞洲的其他國(guó)家,更好的促進(jìn)當(dāng)?shù)厣鐓^(qū)與全球社區(qū)的合作和互助。 showImg(https://segmentfault.com/img/bVbqUjV?w=1089&h=647); RustCon Asia 來了!由秘猿...
摘要:旨在為應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。,是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。目前的最新版本為,最新版本的在我看來更像的數(shù)據(jù)庫(kù),功能更是越發(fā)強(qiáng)大。一些主流的介紹。 簡(jiǎn)述 工作中經(jīng)常接觸MongoDB,學(xué)習(xí)上也有對(duì)它進(jìn)行一些研究,感覺MongoDB這種Nosql類型的數(shù)據(jù)庫(kù)給我在開發(fā)上帶來很多便捷,同時(shí)也解決了很多程序開發(fā)過...
摘要:旨在為應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。,是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。目前的最新版本為,最新版本的在我看來更像的數(shù)據(jù)庫(kù),功能更是越發(fā)強(qiáng)大。一些主流的介紹。 簡(jiǎn)述 工作中經(jīng)常接觸MongoDB,學(xué)習(xí)上也有對(duì)它進(jìn)行一些研究,感覺MongoDB這種Nosql類型的數(shù)據(jù)庫(kù)給我在開發(fā)上帶來很多便捷,同時(shí)也解決了很多程序開發(fā)過...
閱讀 848·2021-11-25 09:43
閱讀 3681·2021-11-19 09:40
閱讀 882·2021-09-29 09:34
閱讀 1784·2021-09-26 10:21
閱讀 870·2021-09-22 15:24
閱讀 4188·2021-09-22 15:08
閱讀 3266·2021-09-07 09:58
閱讀 2658·2019-08-30 15:55