linux運維、架構之路-MongoDB單機部署

1、MongoDB介紹

MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案。linux

MongoDB 是一個介於關係型數據庫和非關係型數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係型的數據庫。mongodb

MongoDB 將數據存儲爲一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔相似於 JSON 對象。字段值能夠包含其餘文檔,數組及文檔數組。數據庫

2、主要特色

  • MongoDB 是一個面向文檔存儲的數據庫,操做起來比較簡單和容易。
  • 能夠在MongoDB記錄中設置任何屬性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")來實現更快的排序。
  • 能夠經過本地或者網絡建立數據鏡像,這使得MongoDB有更強的擴展性。
  • 若是負載的增長(須要更多的存儲空間和更強的處理能力) ,它能夠分佈在計算機網絡中的其餘節點上這就是所謂的分片。
  • Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
  • MongoDb 使用update()命令能夠實現替換完成的文檔(數據)或者一些指定的數據字段 。
  • Mongodb中的Map/reduce主要是用來對數據進行批量處理和聚合操做。
  • Map和Reduce。Map函數調用emit(key,value)遍歷集合中全部的記錄,將key與value傳給Reduce函數進行處理。
  • Map函數和Reduce函數是使用Javascript編寫的,並能夠經過db.runCommand或mapreduce命令來執行MapReduce操做。
  • GridFS是MongoDB中的一個內置功能,能夠用於存放大量小文件。
  • MongoDB容許在服務端執行腳本,能夠用Javascript編寫某個函數,直接在服務端執行,也能夠把函數的定義存儲在服務端,下次直接調用便可。
  • MongoDB支持各類編程語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
  • MongoDB安裝簡單

3、MongoDB部署

一、安裝所需依賴

yum install libcurl openssl

二、下載源碼包

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

三、建立所需目錄

mkdir -p /app/mongodb4.0/{install,logs,conf,data}

四、上傳解壓 mongodb-linux-x86_64-4.0.0.tgz 至 /app/mongodb4.0/install目錄下

tar xf mongodb-linux-x86_64-4.0.0.tgz -C /app/mongodb4.0/install/

五、建立MongoDB配置文件、日誌文件

touch /app/mongodb4.0/logs/mongodb.log
touch /app/mongodb4.0/conf/mongodb.conf

六、編輯mongodb.conf

port=27017
fork=true
logpath=/app/mongodb4.0/logs/mongodb.log
#logappen=true
dbpath=/app/mongodb4.0/data
auth=false

七、啓動MongoDB

/app/mongodb4.0/install/bin/mongod -f /app/mongodb4.0/conf/mongodb.conf

八、配置MongoDB

①進入MongoDB命令模式

/app/mongodb4.0/install/bin/mongo 127.0.0.1:27017

②建立數據庫

use demon

③建立用戶管理員

在admin數據庫中添加具備userAdminAnyDatabase角色的用戶編程

use admin
db.createUser({user:"admin",pwd:"admin",roles:[{role:"readWrite",db:"demon"}]});
db.createUser({user:"admin",pwd:"admin",roles:[{role:"readWriteAnyDatabase",db:"demon"}]});

九、中止MongoDB

/app/mongodb4.0/install/bin/mongod -f /app/mongodb4.0/conf/mongodb.conf -shutdown

十、編輯mongodb.conf   auth=true

/app/mongodb4.0/install/bin/mongod -f /app/mongodb4.0/conf/mongodb.conf

十一、使用上面建立的用戶登陸MongoDB

/app/mongodb4.0/install/bin/mongo --port 27017 -u "admin" -p "admin" --authenticationDatabase "admin"

4、開發MongoDB啓動腳本

一、編寫腳本

#!/bin/bash
# chkconfig: - 98 21
Mongod_Path="/app/mongodb4.0/install/bin/mongod"
Mongod_Conf="/app/mongodb4.0/conf/mongodb.conf"

usage() {
    echo "usage: $0 [start|stop|restart]"
}


start_Mongod() {
   $Mongod_Path -f $Mongod_Conf
   echo "Mongodb is starting"
}

stop_Mongod() {
   $Mongod_Path -f $Mongod_Conf --shutdown
   echo "Mongodb is stopped"
}


main() {
case $1 in
    start)
         start_Mongod;;
    stop)
         stop_Mongod;;
    restart)
         stop_Mongod && start_Mongod;;
    *)
         usage;
esac
}
main $1

二、授予腳本可執行權限

chmod +x /etc/init.d/mongod
chkconfig --add mongod

三、啓動、中止、從新MongoDB服務

/etc/init.d/mongod start
/etc/init.d/mongod stop
/etc/init.d/mongod restart

5、MongoDB數據庫的相關操做


> show dbs;                        #查看當前實例下的數據庫
> show databases;             #兼容關係型數據庫MySQL命令
> use local;                         #切換數據庫local
> show collections;            #查看數據庫local的集合
> show tables;                    #兼容關係型數據庫MySQL命令
經常使用的操做以下:數組

相關文章
相關標籤/搜索