在CentOS上部署MongoDB數(shù)據(jù)庫(kù)-創(chuàng)新互聯(lián)

MongoDB簡(jiǎn)介

MongoDB時(shí)一款跨平臺(tái)、面向文檔的 數(shù)據(jù)庫(kù)??梢詫?shí)現(xiàn)高性能、高可用性,并且能夠輕松擴(kuò)展。是一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng),在高負(fù)載情況下,添加更多節(jié)點(diǎn),可以保證服務(wù)器性能。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、囊謙網(wǎng)站維護(hù)、網(wǎng)站推廣。
MongoDB的特點(diǎn)
  • MongoDB的特點(diǎn)包括面向集合存儲(chǔ)、模式自由、豐富的查詢(xún)語(yǔ)句和多級(jí)索引、復(fù)制集機(jī)制、易于水平擴(kuò)展、可插入存儲(chǔ)引擎、跨平臺(tái)多語(yǔ)言支持等。
  • MongoDB安裝簡(jiǎn)單,提供了面向文檔存儲(chǔ)功能,操作起來(lái)比較容易。
  • MongoDB提供了復(fù)制、高可用性和自動(dòng)分片功能。如果負(fù)載增加(需要更多的存儲(chǔ)空間和更強(qiáng)的處理能力),它可以分布在計(jì)算機(jī)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)上,這就是所謂的分片。
  • Mongo支持豐富的查詢(xún)表達(dá)式。查詢(xún)指令使用JSON形式的標(biāo)記,可輕易查詢(xún)文檔中內(nèi)嵌的對(duì)象及數(shù)組 。
  • MongoDB支持各種編程語(yǔ)言:Ruby、Python、Java、C++、PHP、C#等多種語(yǔ)言。
MongoDB適用領(lǐng)域

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

MongoDB的存儲(chǔ)結(jié)構(gòu)

MongoDB的存儲(chǔ)結(jié)構(gòu)由邏輯存儲(chǔ)和物理存儲(chǔ)組成。

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

MongoDB的物理存儲(chǔ)結(jié)構(gòu)主要包括數(shù)據(jù)存儲(chǔ)和日志存儲(chǔ)。

安裝及運(yùn)行控制

(1)配置YUM源倉(cāng)庫(kù)

[root@localhost ~]# vim /etc/yum.repos.d/mongodb.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.asc
[root@localhost ~]# yum list

(2)安裝MongoDB

[root@localhost ~]# yum install mongodb-org -y
[root@localhost ~]# vim /etc/mongod.conf //修改主配置文件// 
net:
  port: 27017     //監(jiān)聽(tīng)端口//
  bindIp: 0.0.0.0  //監(jiān)聽(tīng)地址//

1)啟動(dòng)mongodb服務(wù)并查看端口信息

[root@localhost ~]# systemctl start mongod.servicev
[root@localhost ~]# netstat -anpt | grep 27017
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      14604/mongod

2)連接并訪問(wèn)數(shù)據(jù)庫(kù)

[root@localhost ~]# /usr/bin/mongo
....//省略
2018-07-17T09:54:54.595+0800 I CONTROL  [initandlisten] 
> 
> db.version()    //查看版本信息//
3.6.6
> show dbs;     //查看數(shù)據(jù)庫(kù)//
admin   0.000GB
config  0.000GB
local   0.000GB
school  0.000GB
> db.getMongo()  //查看當(dāng)前數(shù)據(jù)庫(kù)機(jī)器的連接地址//
connection to 127.0.0.1:27017

(3)開(kāi)啟多實(shí)例

1)在單臺(tái)服務(wù)器資源充分的情況下,可以使用多實(shí)列,以便充分使用服務(wù)器資源。具體步驟如下:

cp -p /etc/mongod.conf /etc/mongod2.conf //復(fù)制主配置文件//

vim /etc/mongod2.conf //修改主配置文件//
   path: /data/mongodb/mongod2.log //日志存放位置//
   dbPath: /data/mongodb/mongo //數(shù)據(jù)存放位置//
   port: 27018   //端口號(hào)//

mkdir -p  /data/mongodb/  //創(chuàng)建日志存放目錄//
cd /data/mongodb/
mkdir mongo
touch mongod2.log   //創(chuàng)建日志文件//
chmod 777 mongod2.log   //提升權(quán)限//

mongod -f /etc/mongod2.conf  //啟動(dòng)服務(wù)//
[root@localhost mongo]# netstat -ntap | grep mongod   //查看端口//
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      14604/mongod        
tcp        0      0 0.0.0.0:27018           0.0.0.0:*               LISTEN      15552/mongod

2)進(jìn)入端口號(hào)為27018的數(shù)據(jù)庫(kù)

[root@localhost mongo]# mongo --port 27018 
MongoDB shell version v3.6.6
connecting to: mongodb://127.0.0.1:27018/
MongoDB server version: 3.6.6
.....//省略//
>
MongoDB基本操作

(1)mongoDB數(shù)據(jù)庫(kù)的增、刪、改、查操作。

> use school      //不存在會(huì)創(chuàng)建,不建立集合又會(huì)刪除//
> db.createCollection('info')  //創(chuàng)建集合//
> show collections   //查看集合(表),也可以使用show tables查看//
info
> db.info.insert({"id":1,"name":"jack"})   //插入數(shù)據(jù)記錄//
WriteResult({ "nInserted" : 1 })
> db.info.find()   //查看數(shù)據(jù)信息//
{ "_id" : ObjectId("5b4d59fb97ae83a938d0e8b3"), "id" : 1, "name" : "jack" }
> db.info.update({"id":1},{$set:{"name":"tom"}})   //更改//
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.info.find()
{ "_id" : ObjectId("5b4d59fb97ae83a938d0e8b3"), "id" : 1, "name" : "tom" }
> db.info.drop()   //刪除集合//
true
> db.dropDatabase()   //刪除數(shù)據(jù)庫(kù)//
{ "dropped" : "school", "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
MongoDB的日常維護(hù)

主要包括:數(shù)據(jù)庫(kù)的備份恢復(fù)、安全管理和數(shù)據(jù)庫(kù)狀態(tài)監(jiān)控。

1)備份與恢復(fù)管理

在MongoDB中備份管理包括導(dǎo)入導(dǎo)出、備份與恢復(fù)、復(fù)制數(shù)據(jù)庫(kù)和克隆集合等操作。

導(dǎo)出操作
[root@bogon ~]# mongoexport -d kgc -c users -o /opt/users.json  //適用于只有一個(gè)實(shí)例//
                mongoexport -h 127.0.0.1:27018 -d school -c test -o /opt/test.json //適用于有兩個(gè)實(shí)列//
導(dǎo)入操作
[root@bogon opt]# mongoimport -d kgc -c user1 --file users.json  //適用于只有一個(gè)實(shí)例//
                  mongoimport -h=127.0.0.1:27018 -d school -c txt --file test.json //適用于有兩個(gè)實(shí)列//
條件操作
[root@bogon opt]# mongoexport -d kgc -c user1 -q '{"id":{"$eq":10}}' -o /opt/top10.json

2)備份與恢復(fù)、復(fù)制數(shù)據(jù)庫(kù)。

[root@bogon opt]# mkdir /backup  //創(chuàng)建備份目錄//
[root@bogon opt]# mongodump -d kgc -o /backup/  #備份

[root@bogon backup]# mongorestore -d kgc2 --dir=/backup/kgc  #恢復(fù)
>db.copyDatabase("kgc","kgc2")   //復(fù)制數(shù)據(jù)庫(kù)//

3)克隆集合

mongo --port 27018

 db.runCommand({"cloneCollection":"kgc.users","from":"192.168.235.190:27017"}

4)創(chuàng)建管理用戶(hù)

> use admin
> db.createUser({"user":"root","pwd":"123","roles":["root"]})
> db.auth("root","123")

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

網(wǎng)頁(yè)題目:在CentOS上部署MongoDB數(shù)據(jù)庫(kù)-創(chuàng)新互聯(lián)
分享鏈接:http://www.muchs.cn/article0/ddspio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化網(wǎng)站排名、App開(kāi)發(fā)品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)建站公司

廣告

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

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