NoSQL是Not Only SQL的縮寫,它指的是非關係型的數據庫,是以Key-Value的形式存儲,和傳統的關係型數據庫不同,不必定遵循傳統數據庫的一些基本要求,好比說:遵循SQL標準、ACID屬性、表結構等等,這類數據庫主要有如下特色:非關係型的、分佈式的、開源的、水平可擴展的。html
常見的NoSQL數據庫:Redis 、MongoDB、BigTable等python
MongoDB是一個基於分佈式文件存儲的數據庫,由c++語言編寫,爲WEB應用提供可擴展的高性能數據存儲解決方案。MongoDB屬於非關係數據庫,也不能說徹底屬於,更像是介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫中功能最豐富,很像關係型數據庫。linux
他的語法相似Javascript面向對象的查詢語言,它是一個面向集合的,模式自由的文檔型數據庫。c++
面向集合(Collenction-Orented)mongodb
意思是數據被分組存儲在數據集中被稱爲一個集合(Collenction) 。每一個集合在數據庫中都有一個惟一的標識名,而且能夠包含無限數目的文檔。集合概念相似關係型數據庫中的表,不一樣的是它不須要定義任何模式。數據庫
模式自由(schema-free)windows
意思是集合裏面沒有行和列的概念,下面兩個記錄能夠存在於同一集合中:數組
{「name」:"hanchao"}瀏覽器
{"age":"30"}緩存
文檔型(documents)
意思是咱們存儲的數據是鍵-值對的集合,鍵是字符串,值能夠是數據類型集合中的任何類型,包含數組和文檔,每個文檔至關於關係型數據庫中的一條記錄。
MonoDB的特色是高性能、易部署、易使用,存儲數據很是方便,主要特性有:
面向集合存儲,易於存儲對象類型的數據
模式自由
支持動態查詢
支持徹底索引,包含內部對象
支持複製和故障恢復
使用高效的二進制數據存儲,包括大型對象(如視頻、圖片等)
自由處理碎片,以支持雲計算層次的擴展性
文件存儲格式爲BSON(一種JSON的擴展)
持久化緩存層
高效的實時性
用於對象以及JSON數據的存儲
高伸縮性的場景
大尺寸,低價值的數據存儲
要求高度事務性的系統
複雜多表的查詢
下載地址:https://www.mongodb.com/download-center#community
注意:安裝過程當中點擊:"Custom(自定義)" 按鈕來設置你的安裝目錄"
新創建一個文件夾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/,若是出現下圖效果則說明服務已經啓動成功:
下載地址: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
#解壓 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
建議用pkill mongod或killall mongd ,而不建議用kill -9 進程號,由於這樣再也起不來Mongod了,此時須要去db中刪掉mongod.lock 。
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