99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

MongoDB數(shù)據(jù)庫詳解,以及MongoDB4.0版本的-創(chuàng)新互聯(lián)

MongoDB 簡介

MongDB 是一款跨平臺,面向文檔的數(shù)據(jù)庫,可以實(shí)現(xiàn)高性能,高可用性,并且能夠輕松擴(kuò)展,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。
MongoDB 也是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。不采用關(guān)系模型主要是為了獲得更好的拓展性,MongoDB 不再有“行”(row)的概念,其運(yùn)行方式主要基于兩個概念:集合(collection)與文檔(document)。

創(chuàng)新互聯(lián)建站專注于衡南企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。衡南網(wǎng)站建設(shè)公司,為衡南等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

MongoDB 的特點(diǎn)

  • MongoDB 的特點(diǎn)包括面向集合存儲、模式自由、豐富的查詢語句和多級索引、復(fù)制集機(jī)制、易于水平拓展、可插入存儲引擎、跨平臺多語言支持等。
  • MongoDB 安裝簡單,提供了面向文檔存儲功能,操作起來比較容易上手。
  • MongoDB 提供了復(fù)制、高可用性和自動分片功能。如果負(fù)載增加(需要更多的存儲空間和更強(qiáng)的處理能力),它可以分布在計算機(jī)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)上,這就是所謂的分片。
  • Mongo 支持豐富的查詢表達(dá)式。查詢指令使用 JSON 形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對象及數(shù)組。
  • MongoDB 支持各種編程語言:Ruby、Python、Java、C++、PHP、C# 等各種語言。

MongoDB 適用領(lǐng)域

MongoDB 可以為 Web 應(yīng)用提供可拓展的高性能數(shù)據(jù)存儲解決方案。MongoDB 主要適用領(lǐng)域有網(wǎng)站數(shù)據(jù)、分布式場景、數(shù)據(jù)緩存和 JSON 文檔格式存儲。適合大數(shù)據(jù)量、高并發(fā)、弱事務(wù)的互聯(lián)網(wǎng)應(yīng)用,其內(nèi)置的水平拓展機(jī)制提供了從幾百萬到十億級別的數(shù)據(jù)處理能力,可以很好地滿足 Web2.0 和移動互聯(lián)網(wǎng)應(yīng)用數(shù)據(jù)存儲的要求。

MongoDB 4.0 的安裝

MongoDB 提供了 Linux 平臺上的安裝包,可以從官方網(wǎng)站 http://www.mongodb.org/downloads 下載。本次我們選擇使用最新版 MongoDB4.0 來安裝并實(shí)驗(yàn)。

  • 下載 MongoDB4.0 軟件包

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
    tar zxvf mongodb-linux-x86_64-4.0.0.tgz -C /opt
    mv /opt/mongodb-linux-x86_64-4.0.0/ /usr/local/mongodb
  • 創(chuàng)建MongoDB 的數(shù)據(jù)存儲目錄,日志存儲目錄,配置文件
    # mkdir /data/mongodb1
    # mkdir /data/logs/mongodb
    # touch /data/logs/mongodb/mongodb1.log
    # chmod -R 777 /data/logs/mongodb/mongodb1.log
    # vim /usr/local/mongodb/mongodb1.conf  //添加下面的行
    dbpath=/data/mongodb1    #數(shù)據(jù)存儲目錄
    logpath=/data/logs/mongodb/mongodb1.log    #日志文件
    port=27017    #默認(rèn)服務(wù)器端口
    logappend=true    #使用追加方式寫日志
    fork=true    #后臺運(yùn)行
    maxConns=5000  #大同時連接數(shù),默認(rèn)2000
    storageEngine=mmapv1    #指定存儲引擎為內(nèi)存映射文件

設(shè)置內(nèi)核參數(shù)

echo 0 > /proc/sys/vm/zone_reclaim_mode
sysctl -w vm.zone_reclaim_mode=0    #永久設(shè)置
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • 設(shè)置系統(tǒng)環(huán)境變量,方便使用

    echo 'export MONGODB_HOME=/usr/local/mongodb' >> /etc/profile
    echo 'export PATH=$PATH:$MONGODB_HOME/bin' >> /etc/profile
    source /etc/profile
  • 啟動 mongodb 服務(wù)進(jìn)程,查看端口(默認(rèn)27017)

    mongod --config /usr/local/mongodb/mongodb1.conf  #開啟MongoDB
    mongod --config /usrlocal/mongodb/mongodb1.conf --shutdown  #停止MongoDB
    netstat -ntap | grep mongod
    mongo --port 27017
    # 進(jìn)入mongo數(shù)據(jù)庫,若是不指定端口默認(rèn)進(jìn)27017端口
  • 創(chuàng)建多實(shí)例
    在單臺服務(wù)器資源充分的情況下,可以使用多實(shí)例,以便充分使用服務(wù)器資源(只需要修改數(shù)據(jù)存儲目錄、日志文件及端口號并創(chuàng)建相應(yīng)目錄即可)
    cd /usr/local/mongodb/
    cp mongodb1.conf mongodb2.conf
    vim mongodb2.conf   #修改如下
    # dbpath=/data/mongodb2    #數(shù)據(jù)存儲目錄
    # logpath=/data/logs/mongodb/mongodb2.log    #日志文件
    # port=27018    #默認(rèn)服務(wù)器端口
    # logappend=true    #使用追加方式寫日志
    # fork=true    #后臺運(yùn)行
    # maxConns=5000  #大同時連接數(shù),默認(rèn)2000
    # storageEngine=mmapv1    #指定存儲引擎為內(nèi)存映射文件
    mkdir /data/mongodb2
    touch /data/logs/mongodb/mongodb2.log
    chmod -R 777 /data/logs/mongodb/mongodb2.log
    mongod --config /usr/local/mongodb/mongodb2.conf  #開啟多實(shí)例

MongoDB 邏輯存儲結(jié)構(gòu)

MongoDB 的邏輯結(jié)構(gòu)主要由文檔(document)、集合(collection)和數(shù)據(jù)庫(database)三部分組成。其中文檔是 MongoDB 的核心概念,它是 MongoDB 邏輯存儲的最小單元,相當(dāng)于關(guān)系型數(shù)據(jù)庫中的一行記錄,多個文檔組成集合,集合相當(dāng)于關(guān)系型數(shù)據(jù)庫中的表的概念,多個幾個組成數(shù)據(jù)庫。

SQL 術(shù)語/概念 MongoDB 術(shù)語/概念 解釋/說明
databasedatabase數(shù)據(jù)庫
tablecollection數(shù)據(jù)庫表/集合
rowdocument數(shù)據(jù)記錄行/文檔
columnfield數(shù)據(jù)字段/域
indexindex索引
table joins表連接,MongoDB不支持
primary keyprimary key主鍵,MongoDB自動將 _id字段設(shè)置為主鍵

MongoDB 基本操作

  • 登錄、退出

    #本地登錄(默認(rèn)實(shí)例端口號:--port=27017,可以不寫)
    > mongo
    #登錄遠(yuǎn)程主機(jī)的實(shí)例
    > mongo --host 192.168.1.2 --port =27017
    #退出MongoDB
    > exit
  • 數(shù)據(jù)庫操作

    #創(chuàng)建數(shù)據(jù)庫(如果數(shù)據(jù)庫不存在,則創(chuàng)建數(shù)據(jù)庫,否則切換到指定數(shù)據(jù)庫)
    > use school
    #查看所有數(shù)據(jù)庫
    > show dbs
    #刪除school數(shù)據(jù)庫
    > use school
    > db.dropDatabase()
    #顯示數(shù)據(jù)庫操作命令
    > db.help()
  • 集合
    MongoDB 的數(shù)據(jù)保存在集合中,所有存儲在集合中的數(shù)據(jù)都是 Binary JSON 格式,簡稱 BSON。BSON 是一種類似于 JSON 的二進(jìn)制形式的存儲格式。

    #創(chuàng)建info集合
    > db.createcollection('info')
    #查看集合
    方法一:
    > show tabels
    方法二:
    > show colletctions
    #顯示info集合操作命令
    > db.info.help()
  • 文檔(增、刪、改、查)
    插入
    #插入一條記錄
    > db.info.insert({"id":1,"name":"jack","hobby":["game","talk","sport"]})
    #向指定集合中插入一條文檔數(shù)據(jù)
    > db.collection.insertOne()
    #向指定集合中插入多條文檔數(shù)據(jù)
    > db.collection.insertMany()
    #通過循環(huán)批量插入數(shù)據(jù)
    > for(var i=1;i<100;i++)db.info.insert({"id":i,"name":"jack"+i})

    刪除

    #刪除info集合中id=1的文檔
    > db.info.remove({"id":"1"})

    修改

    #修改info集合id=1的name值為"zhangsan"文檔
    db.info.update({"id":"1"},{$set:{"name":"wzn"}})

    查詢

    #查詢info集合所有文檔
    > db.info.find()
    #查詢info集合id為1的文檔
    > db.info.findOne({id:1})
    #統(tǒng)計記錄數(shù)
    > db.info.count()

備份、恢復(fù)數(shù)據(jù)庫

  • 導(dǎo)入導(dǎo)出
  • 導(dǎo)出:mongoexport
  • 導(dǎo)入:mongoimport
  • 選項: -d 指定數(shù)據(jù)庫名稱;-c 指定集合名稱;-f 指定導(dǎo)出哪些列;-o 指定要導(dǎo)出的文件名;-q:指定導(dǎo)出數(shù)據(jù)的過濾條件。具體命令通過 --help 查看。
  • 備份與恢復(fù)
  • 備份:mongodump
  • 恢復(fù):mongorestore
  • 選項:
    1 : -h 指定Mongodb所在服務(wù)器的地址也可以指定端口。(例:-h 127.0.0.1:27017)
    2 : -d :需要備份的數(shù)據(jù)庫實(shí)例。
    3 : -o :備份數(shù)據(jù)存放的目錄 該目錄需提前創(chuàng)建。

  • 復(fù)制數(shù)據(jù)庫

    > db.copyDatabase("db1","db2")     //復(fù)制數(shù)據(jù)庫db1 到db2 中
  • 克隆集合
  • 把數(shù)據(jù)庫 db1 的 info 集合克隆到實(shí)例端口:27018
    # mongo --port 27018
    # db.runCommand({"cloneCollection":"db1.info","from":"localhost:27017"})

MongoDB 安全管理

MongoDB 安全管理主要包括 MongoDB 的安全訪問控制以及用戶權(quán)限分配。

  • 限定監(jiān)聽特定 IP 和端口

    # vim /usr/local/mongodb/mongodb1.conf
    # 只綁定內(nèi)網(wǎng)卡地址
    bind_ip=localhost(ip)
    # 只監(jiān)聽指定的端口
    port=27017
  • 授權(quán)啟動
  • 內(nèi)置數(shù)據(jù)庫用戶:read、readWrite
  • 數(shù)據(jù)庫管理角色:dbAdmin、dbOwner、userAdmin
  • 超級用戶角色:root

    #在db1數(shù)據(jù)庫創(chuàng)建超級用戶root,密碼:123123
    > use db1
    > db.createUser({"user":"root","pwd":"123123","roles":["root"]})
    > exit
    #
    #關(guān)閉 mongodb 服務(wù)
    mongod -f /usr/local/mongodb/mongodb1.conf --shutdown
    #
    # 使用帶認(rèn)證參數(shù)的方式啟動 mongodb 服務(wù)
    mongod -f /usr/local/mongodb/mongodb1.conf --auth
    #
    # 此時查詢數(shù)據(jù)不顯示內(nèi)容,需要進(jìn)行授權(quán)認(rèn)證
    > use db1
    > db.auth("root":"123123")
    #
    # 當(dāng)然,實(shí)際情況中,我們可以修改配置文件,
    #這樣別人在訪問我們的 MongoDB 時,我們可以指定一個有相應(yīng)權(quán)限的用戶給他進(jìn)行登錄并操作
    vim /usr/local/mongodb/mongodb1.conf
    auth=true    //添加
  • 進(jìn)程管理
  • 查看當(dāng)前正在運(yùn)行的進(jìn)程(獲取高消耗資源的進(jìn)程opid)
    > db.currentOp()
  • 終止正在運(yùn)行的高消耗資源的進(jìn)程(括號內(nèi)跟上面獲取到的opid值)
    > db.killOp(opid)

MongoDB 監(jiān)控

  • 查看數(shù)據(jù)庫實(shí)例的狀態(tài)信息
    > db.serverStatus()
  • 查看當(dāng)前數(shù)據(jù)庫的統(tǒng)計信息
    > db.status()
  • 查看集合統(tǒng)計信息
    > db.users.status()
  • 查看集合大小
    > db.users.dataSize()
  • 此外,我們可以通過 Web 界面查看系統(tǒng)監(jiān)控信息,只需要修改配置文件

    # vim /usr/local/mongodb/mongodb1.conf
    httpinterface=true    //添加

    通過 Web 頁面可以看到:
    1)當(dāng)前 MongoDB 的所有連接
    2)各個數(shù)據(jù)庫和集合的訪問統(tǒng)計,包括:Reads、Writes、Queries、GetMores、Inserts、Updates、Removes
    3)寫鎖的狀態(tài)
    4)日志文件的最后幾百行
    5)所有的 MongoDB 命令

  • 第三方監(jiān)控工具
    我們可以通過 Nagios 中配置使用 MongoDB 插件來監(jiān)控 MongoDB 數(shù)據(jù)庫。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前標(biāo)題:MongoDB數(shù)據(jù)庫詳解,以及MongoDB4.0版本的-創(chuàng)新互聯(lián)
文章地址:http://www.yijiale78.com/article8/dhship.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、外貿(mào)建站、企業(yè)建站、網(wǎng)頁設(shè)計公司、企業(yè)網(wǎng)站制作、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)