簡介
- MongoDB 是一個基於分佈式 文件存儲的NoSQL數據庫
- 由C++語言編寫,運行穩定,性能高
- 旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案
- 查看官方網站
MongoDB特點
- 模式自由 :可以把不同結構的文檔存儲在同一個數據庫裏
- 面向集合的存儲:適合存儲 JSON風格文件的形式
- 完整的索引支持:對任何屬性可索引
- 複製和高可用性:支持服務器之間的數據複製,支持主-從模式及服務器之間的相互複製。複製的主要目的是提供冗餘及自動故障轉移
- 自動分片:支持雲級別的伸縮性:自動分片功能支持水平的數據庫集羣,可動態添加額外的機器
- 豐富的查詢:支持豐富的查詢表達方式,查詢指令使用JSON形式的標記,可輕易查詢文檔中的內嵌的對象及數組
- 快速就地更新:查詢優化器會分析查詢表達式,並生成一個高效的查詢計劃
- 高效的傳統存儲方式:支持二進制數據及大型對象(如照片或圖片)
Packages包說明
MongoDB官方源中包含以下幾個依賴包:
mongodb-org: MongoDB元數據包,安裝時自動安裝下面四個組件包:
1.mongodb-org-server: 包含MongoDB守護進程和相關的配置和初始化腳本。
2.mongodb-org-mongos: 包含mongos的守護進程。
3.mongodb-org-shell: 包含mongo shell。
4.mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。
安裝步驟
1.配置MongoDB的yum源
vim /etc/yum.repos.d/mongodb-org-4.0.repo #添加以下內容: [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=0 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc #這裏可以修改 gpgcheck=0, 省去gpg驗證 [root@localhost ~]# yum makecache
2.安裝MongoDB
安裝命令:
yum -y install mongodb-org
安裝完成後
查看mongo安裝位置 :
whereis mongod
查看修改配置文件 :
vim /etc/mongod.conf
3.啓動MongoDB
啓動mongodb :
systemctl start mongod.service
停止mongodb :
systemctl stop mongod.service
查到mongodb的狀態:
systemctl status mongod.service
4.外網訪問需要關閉防火牆:
關閉firewall:
systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall開機啓動
5.啓動Mongo shell
命令:
mongo
查看數據庫:
show dbs
6.設置mongodb遠程訪問:
編輯mongod.conf註釋bindIp,並重啓mongodb.(這句配置代表只能本機使用,所以需註釋) 或者 設置爲 0.0.0.0
vim /etc/mongod.conf
重啓mongodb使修改生效:
systemctl restart mongod.service
到這裏就可以正常使用mongodb了
7.設置mongodb數據庫及用戶:
先輸入命令進入MongoDB:
# mongo
進入想要加密碼的數據庫(本文以tesataa數據庫爲例)
use tesataa
爲單個數據庫添加用戶(用戶名爲useraa,密碼爲123456)
db.createUser({user:"useraa",pwd:"123456",roles:[{role:"dbOwner",db:"tesataa"}]})
db.createUser()參數說明 (作爲配置參考)
官方文檔地址:https://docs.mongodb.com/manual/reference/method/db.createUser/
-- 驗證mongodb數據庫權限。
db.auth("useraa","123456")
-- 返回1標識正確
這下就可以使用mongodb管理工具(比如Robomong)去連接操作使用啦。