1. 程式人生 > >MongoDB的安裝與基本操作

MongoDB的安裝與基本操作

done org admin port process repo 好的 簡介 b-

一、關於MongoDB

1、MongoDB簡介

MongoDB是一款跨平臺、面向文檔的數據庫。可以實現高性能、高可用性、並且能夠輕松擴展。是一個介於關系數據庫和非關系數據庫之間的產品,在高負載的情況下,添加更多的節點,可以保證服務器性能。
MongoDB也是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。不采用關系模型主要是為了更好的擴展性,MongoDB不再有“行”(row)的概念,其運行方式主要基於兩個概念:集合(collection)與文檔(document)。

2、MongoDB的特點

MongoDB的特點包括面向集合存儲、模式自由、豐富的查詢語句和多級索引、復制集機制、易於水平擴展、可插入面向文檔存儲功能、操作起來比較容易。

MongoDB安裝簡單,提供了面向文檔存儲功能,操作起來比較容易。
MongoDB提供了復制、高可用和自動分片功能,如果負載增加,它可以分布在計算機網路中的其他節點上,這就是所謂的分片。
Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可以輕易查詢文檔中的內嵌的對象及數組。
MongoDB支持各種編程語言:Ruby、Python、java、C++、PHP、C#等多中語言。

3、MongoDB適用領域

MongoDB可以為Web應用提供可拓展的高性能數據存儲解決方案。主要使用領域有網站數據、分布式場景、數據緩存和JSON文檔格式存儲。適用大數據量、高並發、弱事務的互聯網應用,其內置的水平擴展機制提供了從幾百萬到十億級別的數據處理能力,可以很好的滿足Web2.0和移動互聯網應用數據存儲的要求。

二、MongoDB的安裝和基本操作

1、配置yum源倉庫

vi /etc/yum.repos.d/CentOS-Base.repo
在最後一行添加MongoDB的yum源模塊

[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

2、安裝MongoDB

添加一塊橋接網卡保證虛擬機能夠訪問外網

yum  install -y mongodb-org     //安裝
vi /etc/mongod.conf //修改監聽地址和端口

技術分享圖片

systemctl start mongod  //啟動服務
netstat -anpt | grep 27017  //查看監聽端口

技術分享圖片

mongo   //進庫
db.version()    //查看版本好
show dbs;   //查看庫
db.getMongo()   //查看連接當前數據庫的地址

註:MongDB中的操作命令可以[tab]補全
技術分享圖片

三、MongoDB的基本操作

1、開啟多實列

cp -p /etc/mongod.conf /etc/mongod2.conf        //復制配置文件
vi /etc/mongod2.conf    //修改新實列對應的路徑和端口

技術分享圖片
技術分享圖片

mkdir -p /data/mongodb/mongo        //創建目錄與配置文件中一致
cd /data/mongodb/
touch mongod2.log       //進入mongodb目錄中添加日誌文件
chmod 777 mongod2.log   //增加權限
mongod -f /etc/mongod2.conf //加載新實列的配置文件

技術分享圖片

mongo --port 27018  //進入新實列對應的庫
netstat -ntap | grep mongod     //退出實列查看端口

技術分享圖片

2、MongoDB的基本命令

mongo   //進入數據庫
use mydb;   //不存在會創建,不建立集合又會刪除
db.createCollection(‘a‘)    //創建集合
db.a.insert({"id":1,"name":"zhangsan"}) //向集合a中插入數據
db.a.find() //查詢集合a中的所有數據
for(var i=1;i<=100;i++)db.users.insert({"id":i,"name":"jack"+i})    //批量插入數據
a=db.users.findOne({"id":2})        //查找指定記錄並賦予別名a
typeof(a.id)    //查看屬性類型
db.users.count()    //統計集合數據量
db.users.update({"id":10},{$set:{"name":"tom"}})        //更改數值
show collections    //查看集合
db.a.drop()    //刪除集合
db.dropDatabase()       //刪除數據庫

3、數據的導入導出

mongoexport -d mydb -c users -o /opt/users.json     //導出數據
mongoimport -d mydb -c user1 --file users.json  //導入數據
mongoexport -d mydb -c user1 -q ‘{"id":{"$lt":11}}‘ -o /opt/top10.json      //條件導出前十行數據

4、數據的備份與恢復

mkdir /backup
mongodump -d mydb -o /backup/       //備份
mongorestore -d mydb --dir=/backup/mydb  //恢復

5、復制數據庫

db.copyDatabase("mydb","mydb1")

6、克隆集合

mongo --port 27018
db.runCommand({"cloneCollection":"mydb.users","from":"192.168.80.100:27017"})

7、創建管理用戶

use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root","123")
show users     //查看創建的用戶

8、進程管理

db.currentOp() //查看進程
db.killOp(進程號) //殺掉進程

MongoDB的安裝與基本操作