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