MongoDB的簡單學習1-安裝

1、簡單瞭解

1.NoSQL簡介

NoSQL是Not Only SQL的縮寫,它指的是非關係型的數據庫,是以Key-Value的形式存儲,和傳統的關係型數據庫不同,不必定遵循傳統數據庫的一些基本要求,好比說:遵循SQL標準、ACID屬性、表結構等等,這類數據庫主要有如下特色:非關係型的、分佈式的、開源的、水平可擴展的。html

常見的NoSQL數據庫:Redis 、MongoDB、BigTable等python

 

2.MongoDB簡介

MongoDB是一個基於分佈式文件存儲的數據庫,由c++語言編寫,爲WEB應用提供可擴展的高性能數據存儲解決方案。MongoDB屬於非關係數據庫,也不能說徹底屬於,更像是介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫中功能最豐富,很像關係型數據庫。linux

他的語法相似Javascript面向對象的查詢語言,它是一個面向集合的,模式自由文檔型數據庫。c++

面向集合(Collenction-Orented)mongodb

意思是數據被分組存儲在數據集中被稱爲一個集合(Collenction) 。每一個集合在數據庫中都有一個惟一的標識名,而且能夠包含無限數目的文檔。集合概念相似關係型數據庫中的,不一樣的是它不須要定義任何模式。數據庫

模式自由(schema-free)windows

意思是集合裏面沒有行和列的概念,下面兩個記錄能夠存在於同一集合中:數組

{「name」:"hanchao"}瀏覽器

{"age":"30"}緩存

文檔型(documents)

意思是咱們存儲的數據是鍵-值對的集合鍵是字符串值能夠是數據類型集合中的任何類型,包含數組和文檔,每個文檔至關於關係型數據庫中的一條記錄。

3.特性

MonoDB的特色是高性能、易部署、易使用,存儲數據很是方便,主要特性有:

面向集合存儲,易於存儲對象類型的數據

模式自由

支持動態查詢

支持徹底索引,包含內部對象

支持複製和故障恢復

使用高效的二進制數據存儲,包括大型對象(如視頻、圖片等)

自由處理碎片,以支持雲計算層次的擴展性

文件存儲格式爲BSON(一種JSON的擴展)

4.適用場景

持久化緩存層

高效的實時性

用於對象以及JSON數據的存儲

高伸縮性的場景

大尺寸,低價值的數據存儲

4.不適用的場景

要求高度事務性的系統

複雜多表的查詢

2、win7安裝

1.下載

下載地址:https://www.mongodb.com/download-center#community

注意:安裝過程當中點擊:"Custom(自定義)" 按鈕來設置你的安裝目錄"

2.啓動

新創建一個文件夾db:D:\softhan\mongodb\data\db 用於存放咱們的MongoDB數據。

cmd到安裝目錄下,好比個人是:D:\programhan\mongodb\Server\3.6\bin

啓動MongDB: mongod --dbpath D:\softhan\mongodb\data\db

 

加入日誌的啓動:

創建一個日誌文件,好比我放在: D:\softhan\mongodb\data\log\mongodb.log

啓動:

mongod --dbpath D:\softhan\mongodb\data\db --logpath D:\softhan\mongodb\data\log\mongodb.log

 

每次使用都手動啓動比較麻煩,加入到windows的Services服務中:

mongod --dbpath "D:\softhan\mongodb\data\db" --logpath "D:\softhan\mongodb\data\log\mongodb.log" --install

這樣每次只須要啓動服務就好了!根據狀況肯定是否要開機啓動!services.msc

啓動成功的標誌:

在瀏覽器下打開:http://localhost:27017/,若是出現下圖效果則說明服務已經啓動成功: 

3、Linux安裝

1.下載

下載地址:https://www.mongodb.com/download-center?jmp=nav#community

我用的是Centos7,Centos是紅帽操做系統的開源分支。安裝RHEL 7 Linux 64-bit x64這個版本便可。

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.4.tgz

你能夠經過上面的方式直接下載,或經過官網下載!

我解壓後,並修更名字,放到/usr/local/mongodb

2.啓動

#解壓
tar -zxvf mongodb-linux-x86_64-rhel70-3.6.4.tgz
#更名
mv mongodb-linux-x86_64-rhel70-3.6.4 mongodb
#創建存儲位置和日誌位置
cd mongodb
mkdir db
mkdir logs
cd logs
touch mongodb.log

#啓動方式1:
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/db/ --logpath=/usr/local/mongodb/logs/mongodb.log --fork

啓動成功後,查看:

#啓動方式2:
#創建conf文件
mkdir conf
cd conf
touch mongodb.conf

#這是mongodb.conf內容
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true

啓動命令:

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

3.關閉

建議用pkill mongodkillall mongd  ,而不建議用kill -9 進程號,由於這樣再也起不來Mongod了,此時須要去db中刪掉mongod.lock 。

4.開機啓動

vi /etc/rc.d/rc.local
#添加mongodb的開機啓動
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

問題:開機啓動無效!!!

執行>ll /etc/rc.local命令,發現/etc/rc.local映射文件是/etc/rc.d/rc.local

ll /etc/rc.d/rc.local發現這個文件沒有執行權限(少了x);

其實vi  /etc/rc.local有這樣一段話

# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure

# that this script will be executed during boot.

因此執行chome +x  /etc/rc.d/rc.local命令後,啓動能夠執行這個文件了。

可是還有一個問題,須要保證rc.local文件裏面執行的腳本都是可執行的,不然依然無效。

 

參考:

https://www.cnblogs.com/xll1025/p/6443786.html

http://www.javashuo.com/article/p-przptlni-cq.html

https://www.cnblogs.com/weiweictgu/p/5517717.html

相關文章
相關標籤/搜索