在CentOS上部署MongoDB資料庫

來源:互聯網
上載者:User

標籤:star   情況   mongo   gre   conf   backup   更改   school   web2.0   

MongoDB簡介

MongoDB時一款跨平台、面向文檔的 資料庫。可以實現高效能、高可用性,並且能夠輕鬆擴充。是一個基於分布式檔案儲存體的開來源資料庫系統,在高負載情況下,添加更多節點,可以保證伺服器效能。

MongoDB的特點
  • MongoDB的特點包括面向集合儲存、模式自由、豐富的查詢語句和多級索引、複製集機制、易於水平擴充、可插入儲存引擎、跨平台多語言支援等。
  • MongoDB安裝簡單,提供了面向文檔儲存功能,操作起來比較容易。
  • MongoDB提供了複製、高可用性和自動分區功能。如果負載增加(需要更多的儲存空間和更強的處理能力),它可以分布在電腦網路中的其他節點上,這就是所謂的分區。
  • Mongo支援豐富的查詢運算式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組 。
  • MongoDB支援各種程式設計語言:Ruby、Python、Java、C++、PHP、C#等多種語言。
MongoDB適用領域

MongoDB可以為Web應用提供可擴充的高效能資料儲存解決方案。MongoDB主要適用的領域有網站資料、分布式情境、資料緩衝和JSON文檔格式儲存。適合大資料量、高並發、弱事務的互連網應用,其內建的水平擴充機制提供了從幾百萬到十億層級的資料處理能力,可以很好的滿足Web2.0和移動互連網應用資料存放區的要求。

MongoDB的儲存結構

MongoDB的儲存結構由邏輯儲存和實體儲存體組成。

MongoDB的邏輯結構主要由文檔(document)、集合(collection)和資料庫(database)三部分組成。其中文檔是MongoDB的核心概念,它是MongoDB邏輯儲存的最小單元,相當於關係型資料庫中的一行記錄,多個文檔組成集合,集合相當於關係型資料庫中的表的概念,多個集合組成資料庫。

MongoDB的實體儲存體結構主要包括資料存放區和日誌儲存。

安裝及運行控制

(1)配置YUM源倉庫

[[email protected] ~]# vim /etc/yum.repos.d/mongodb.repo [mongodb-org]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc[[email protected] ~]# yum list

(2)安裝MongoDB

[[email protected] ~]# yum install mongodb-org -y[[email protected] ~]# vim /etc/mongod.conf //修改主設定檔// net:  port: 27017     //監聽連接埠//  bindIp: 0.0.0.0  //監聽地址//

1)啟動mongodb服務並查看連接埠資訊

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

2)串連並訪問資料庫

[[email protected] ~]# /usr/bin/mongo....//省略2018-07-17T09:54:54.595+0800 I CONTROL  [initandlisten] > > db.version()    //查看版本資訊//3.6.6> show dbs;     //查看資料庫//admin   0.000GBconfig  0.000GBlocal   0.000GBschool  0.000GB> db.getMongo()  //查看當前資料庫機器的串連地址//connection to 127.0.0.1:27017  

(3)開啟多執行個體

1)在單台伺服器資源充分的情況下,可以使用多實列,以便充分使用伺服器資源。具體步驟如下:

cp -p /etc/mongod.conf /etc/mongod2.conf //複製主設定檔//vim /etc/mongod2.conf //修改主設定檔//   path: /data/mongodb/mongod2.log //日誌存放位置//   dbPath: /data/mongodb/mongo //資料存放位置//   port: 27018   //連接埠號碼//mkdir -p  /data/mongodb/  //建立日誌存放目錄//cd /data/mongodb/mkdir mongotouch mongod2.log   //建立記錄檔//chmod 777 mongod2.log   //提升許可權//mongod -f /etc/mongod2.conf  //啟動服務//[[email protected] 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)進入連接埠號碼為27018的資料庫

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

(1)mongoDB資料庫的增、刪、改、查操作。

> use school      //不存在會建立,不建立集合又會刪除//> db.createCollection(‘info‘)  //建立集合//> show collections   //查看集合(表),也可以使用show tables查看//info> db.info.insert({"id":1,"name":"jack"})   //插入資料記錄//WriteResult({ "nInserted" : 1 })> db.info.find()   //查看資料資訊//{ "_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()   //刪除資料庫//{ "dropped" : "school", "ok" : 1 }> show dbsadmin   0.000GBconfig  0.000GBlocal   0.000GB
MongoDB的日常維護

主要包括:資料庫的備份恢複、安全管理和資料庫狀態監控。

1)備份與恢複管理

在MongoDB中備份管理組件括匯入匯出、備份與恢複、複製資料庫和複製集合等操作。

匯出操作[[email protected] ~]# mongoexport -d kgc -c users -o /opt/users.json  //適用於只有一個執行個體//                mongoexport -h 127.0.0.1:27018 -d school -c test -o /opt/test.json //適用於有兩個實列//匯入操作[[email protected] opt]# mongoimport -d kgc -c user1 --file users.json  //適用於只有一個執行個體//                  mongoimport -h=127.0.0.1:27018 -d school -c txt --file test.json //適用於有兩個實列//條件操作[[email protected] opt]# mongoexport -d kgc -c user1 -q ‘{"id":{"$eq":10}}‘ -o /opt/top10.json

2)備份與恢複、複製資料庫。

[[email protected] opt]# mkdir /backup  //建立備份目錄//[[email protected] opt]# mongodump -d kgc -o /backup/  #備份[[email protected] backup]# mongorestore -d kgc2 --dir=/backup/kgc  #恢複>db.copyDatabase("kgc","kgc2")   //複製資料庫//

3)複製集合

mongo --port 27018 db.runCommand({"cloneCollection":"kgc.users","from":"192.168.235.190:27017"}

4)建立系統管理使用者

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

在CentOS上部署MongoDB資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.