MongoDB基础(3.6安装及多实例)
MongoDB簡介
MongoDB是一跨平臺、面向文檔的數據庫。可以實現高性能、高可用性,并且能夠輕松擴展。是一個基于分布式文件存儲的開源數據庫系統,在高負載的情況下,添加更多的節點,可以保證服務器性能。
MongoDB也是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。不采用關系模型主要是為了獲得更好的擴展性,MongoDB不再有“行”(row)的概念,其運行方式主要基于兩個概念:集合(collection)與文檔(document)。
MongoDB的特點
MongoDB的特點包括面向集合存儲、模式自由、豐富的查詢語句和多級索引、復制集機制、易于水平擴展、可插入存儲引擎、跨平臺多語言支持等。
MongoDB安裝簡單,提供了面向文檔存儲功能,操作起來比較容易。
MongoDB提供了復制、高可用性和自動分片功能。如果負載增加(需要更多的存儲空間和更強的處理能力),它可以分布在計算機網絡中的其他節點上,這就是所謂的分片。
MongoDB支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
MongoDB支持各種變成語言:Ruby、Python、Java、C++、PHP、C#等多種語言。
MongoDB適用領域
MongoDB可以為WEB應用提供可擴展的高性能數據存儲解決方案。MongoDB主要適用領域有網站數據、分布式場景、數據緩存和JSON文檔格式存儲。適合大數據量、高并發、弱事務的互聯網應用,其內置的水平擴展機制提供了幾百萬到十億級別的數據處理能力,可以很好的滿足Web2.0和移動互聯網應用數據存儲的要求。
MongoDB常用術語及說明
| database | database | 數據庫 |
| table | collection | 數據庫表/集合 |
| row | document | 數據記錄行/文檔 |
| column | field | 數據字段/域 |
| index | index | 索引 |
| table joins | 表連接,MongoDB不支持 | |
| primary key | primary key | 主鍵,MongoDB自動將_id字段設置為主鍵 |
數據庫:一個MongoDB 實例可以承載多個數據庫。它們之間可以看作相互獨立,每個數據庫都有獨立的權限控制。在磁盤上,不同的數據庫存放在不同的文件中。MongoDB 中存在以下系統數據庫。
- Admin 數據庫:一個權限數據庫,如果創建用戶的時候將該用戶添加到admin 數據庫中,那么該用戶就自動繼承了所有數據庫的權限。
- Local 數據庫:這個數據庫永遠不會被負責,可以用來存儲本地單臺服務器的任意集合。
- Config 數據庫:當MongoDB 使用分片模式時,config 數據庫在內部使用,用于保存分片的信息。
集合:集合就是一組文檔,類似于關系數據庫中的表。集合是無模式的,集合中的文檔可以是各式各樣的。在MongoDB中集合用collections表示,每個
collection用一個名字標識,需要注意以下幾點:
-
名字不允許是空字符串""
-
名字不能包含\0字符,因為它表示名字的結束
- 不能創建以system.開頭的
文檔:文檔是 MongoDB 中數據的基本單位,類似于關系數據庫中的行(但是比行復雜)。多個鍵及其關聯的值有序地放在一起就構成了文檔。
-
文檔中的鍵/值對是有序的。
-
文檔中的值不僅可以是在雙引號里面的字符串,還可以是其他幾種數據類型(甚至可以是整個嵌入的文檔)。
-
MongoDB區分類型和大小寫。
-
MongoDB的文檔不能有重復的鍵。
- 文檔的鍵是字符串。除了少數例外情況,鍵可以使用任意UTF-8字符。
安裝MongoDB
1.配置YUM源倉庫
cd /etc/yum.repos.d/ vim mongodb-org.repo [mongodb-org] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc2.在線安裝MongoDB
yum install -y mongodb-org3.修改配置文件
vim /etc/mongod.service1 # mongod.conf2 3 # for documentation of all options, see:4 # http://docs.mongodb.org/manual/reference/configuration-options/5 6 # where to write logging data.7 systemLog:8 destination: file9 logAppend: true //使用追加方式寫日志10 path: /var/log/mongodb/mongod.log //日志文件路徑11 12 # Where and how to store data.13 storage:14 dbPath: /var/lib/mongo //數據存儲目錄15 journal:16 enabled: true17 # engine:18 # mmapv1:19 # wiredTiger:20 21 # how the process runs22 processManagement:23 fork: true # fork and run in background后臺運行24 pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile25 timeZoneInfo: /usr/share/zoneinfo26 27 # network interfaces28 net:29 port: 27017 //默認服務器端口號30 bindIp: 0.0.0.0 //監聽地址31 32 33 #security:34 35 #operationProfiling:36 37 #replication:384.關閉防火墻和增強安全功能并開啟數據庫
systemctl stop firewalld.service setenforce 0 systemctl start mongod.service netstat -anpt | grep mongod tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 15252/mongod5.進入數據庫并進行簡單的查看
mongo //進入數據庫 >db.version() //查看數據庫版本 >show dbs //查看所有庫 >db.getMongo() //查看當前數據庫機器的連接地址開啟多實例
在單臺服務器資源充分的情況下,可以使用多實例,以便充分使用服務器資源。操作如下:
cp -p /etc/mongod.conf /etc/mongod2.conf vim /etc/mongod2.conf...path: /data/mongodb/mongod2.logdbPath: /data/mongodb/mongo... port: 27018... mkdir -p /data/mongodb mkdir /data/mongodb/mongo //創建對應的數據存儲目錄 touch /data/mongodb/mongod2.log //創建日志文件 chmod 777 mongod2.log 開啟mongodb2: #mongod -f /etc/mongod2.conf #mongo --port 27018 MongoDB shell version v3.6.6 ... > #netstat -ntap tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 15252/mongod tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 3649/mongod轉載于:https://blog.51cto.com/13625810/2147042
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的MongoDB基础(3.6安装及多实例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内核(5) - 内核学习的相关
- 下一篇: 读取网页内容