真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

非關(guān)系數(shù)據(jù)庫(kù)------MongoDB的安裝與使用

MongoDB概述

MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

在鹿城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),鹿城網(wǎng)站建設(shè)費(fèi)用合理。

MongoDB特點(diǎn)

面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類型的數(shù)據(jù);
模式自由、支持查詢、支持動(dòng)態(tài)查詢;
支持完全索引,包含內(nèi)部對(duì)象;
支持復(fù)制和故障恢復(fù);
使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包括大型對(duì)象(如視頻等);
自動(dòng)處理碎片,以支持云計(jì)算層次的擴(kuò)展性;
支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言;
文件存儲(chǔ)格式為BSON(一種JSON的擴(kuò)展);
可通過網(wǎng)絡(luò)訪問。

在Linux安裝MongoDB

#配置yum源倉(cāng)庫(kù)
cd /etc/yum.repos.d/
vim mongodb-org.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

#安裝 MongoDB
yum install mongodb-org -y

#修改配置文件
vim /etc/mongod.conf

#修改第30行的監(jiān)聽地址
bindIp: 0.0.0.0

#開啟服務(wù)
systemctl start mongod.service

#關(guān)閉防火墻和安全功能
systemctl stop firewalld.service 
setenforce 0

#查看服務(wù)端口狀態(tài)
netstat -ntap | grep mongod

#復(fù)制配置文件,以開啟多實(shí)例
cp -p /etc/mongod.conf /etc/mongod2.conf 

#修改配置文件
vim /etc/mongod2.conf

#第10行,修改日志文件目錄
path: /var/log/mongodb/mongod2.log

#第14行,修改數(shù)據(jù)存儲(chǔ)目錄
dbPath: /data/mongodb/mongo

#第29行,修改服務(wù)端口號(hào)
port: 27018

#創(chuàng)建實(shí)例的目錄和日志文件
mkdir -p /data/mongodb
cd /data/mongodb/
mkdir mongo
touch mongod2.log

#目錄授權(quán)
chmod 777 mongod2.log

#啟動(dòng)實(shí)例
mongod -f /etc/mongod2.conf 

#指定實(shí)例的端口
mongo --port 27018

#查看服務(wù)端口狀態(tài)
netstat -ntap

MongoDB 基礎(chǔ)操作

#查看版本
db.version() 

#查看數(shù)據(jù)庫(kù)    
show dbs;   

#查看當(dāng)前數(shù)據(jù)庫(kù)機(jī)器的連接地址      
db.getMongo()  

#顯示集合操作命令 
db.集合名.help     

#顯示用戶
show users       

增刪改查

use school;                       
#打開school數(shù)據(jù)庫(kù), 不存在會(huì)創(chuàng)建,不建立集合又會(huì)刪除

db.createCollection('info')        
#創(chuàng)建集合

db.info.insert({"id":1,"name":"zhangsan","hobby":["game","talk"]})      
#添加數(shù)據(jù)

db.info.find()                    
#查看info集合中所有文檔

show collections                  
#查看數(shù)據(jù)庫(kù)中所有集合

db.info.update({"id":10},{$set:{"name":"tom"}})     
#更改數(shù)據(jù)

db.info.remove({"id":2})         
#移除info集合中的id2的數(shù)據(jù)

db.info.drop()                   
#刪除info集合

db.dropDatabase()               
#刪除數(shù)據(jù)庫(kù)  先use到要?jiǎng)h的數(shù)據(jù)庫(kù)里在刪

db.info.count()                 
#統(tǒng)計(jì)有多少條數(shù)據(jù)

MongoDB 數(shù)據(jù)類型

String
#字符串,最常用,必須是utf-8

Boolean
#布爾值,true 或者false

Integer
#整數(shù)型

Double
#浮點(diǎn)型

Arrays
#數(shù)組或者列表,多個(gè)值存儲(chǔ)到一個(gè)鍵

Object
#用于嵌入文檔,即一個(gè)值為一個(gè)文檔

Null
#存儲(chǔ)null值

Binary Data 
#二進(jìn)制數(shù)據(jù),用于存儲(chǔ)二進(jìn)制數(shù)據(jù)

Date
#存儲(chǔ)當(dāng)前日期或時(shí)間unix時(shí)間格式

查看數(shù)據(jù)類型

a=db.info.findOne({"id":1})   
#查找指定記錄并賦予別名a

ypeof(a.id)                  
#查看屬性類型

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

導(dǎo)出工具:mongoexport

導(dǎo)入工具:mongoimport

常見選項(xiàng):

-h,--host :代表遠(yuǎn)程連接的數(shù)據(jù)庫(kù)地址,默認(rèn)連接本地Mongo數(shù)據(jù)庫(kù);
--port:代表遠(yuǎn)程連接的數(shù)據(jù)庫(kù)的端口,默認(rèn)連接的遠(yuǎn)程端口27017;
-u,--username:代表連接遠(yuǎn)程數(shù)據(jù)庫(kù)的賬號(hào),如果設(shè)置數(shù)據(jù)庫(kù)的認(rèn)證,需要指定用戶賬號(hào);
-p,--password:代表連接數(shù)據(jù)庫(kù)的賬號(hào)對(duì)應(yīng)的密碼;
-d,--db:代表連接的數(shù)據(jù)庫(kù);
-c,--collection:代表連接數(shù)據(jù)庫(kù)中的集合;
-f, --fields:代表集合中的字段,可以根據(jù)設(shè)置選擇導(dǎo)出的字段;
--type:代表導(dǎo)出輸出的文件類型,包括csv和json文件;
-o, --out:代表導(dǎo)出的文件名;
-q, --query:代表查詢條件;
--skip:跳過指定數(shù)量的數(shù)據(jù);
--limit:讀取指定數(shù)量的數(shù)據(jù)記錄;
--sort:對(duì)數(shù)據(jù)進(jìn)行排序,可以通過參數(shù)指定排序的字段,并使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用于降序排列,如sort({KEY:1})。
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})    
#循環(huán)寫入100條數(shù)據(jù)

mongoexport -d school -c info -o /opt/info.json        
#導(dǎo)出指定文件

mongoimport -d school -c info1 --file /opt/info.json  
#導(dǎo)入到info1集合

mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json    
#查詢指定第10行條件導(dǎo)出

備份與恢復(fù)

備份工具:mongodump

恢復(fù)工具:mongorestore

常用選項(xiàng):

-h 指定Mongodb所在服務(wù)器的地址也可以指定端口(例:-h 127.0.0.1:27017)
-d :需要備份的數(shù)據(jù)庫(kù);
-o :備份數(shù)據(jù)存放的目錄 該目錄需提前創(chuàng)建
mkdir /backup                       
#創(chuàng)建存放目錄

mongodump -d school -o /backup/     
#備份school數(shù)據(jù)庫(kù)

mongorestore -d school1 --dir=/backup/school    
#恢復(fù)到school1數(shù)據(jù)庫(kù)

復(fù)制數(shù)據(jù)庫(kù):

db.copyDatabase("school","school2")     
#復(fù)制數(shù)據(jù)庫(kù)school 到school2中

克隆數(shù)據(jù)庫(kù):

把數(shù)據(jù)庫(kù)school的info集合 克隆到實(shí)例2
先進(jìn)入實(shí)例2的MongoDB
mongo --port 27018
db.runCommand({"cloneCollection":"school.info","from":"192.168.142.152:27017"}) 

安全管理

創(chuàng)建管理用戶;
啟動(dòng)時(shí)必須指定 auth=true;
可以將用戶分配角色;
內(nèi)置數(shù)據(jù)庫(kù)用戶角色: read 、 readWrite;
數(shù)據(jù)庫(kù)管理員角色: dbAmin 、 dbOwner 、 userAdmin;
超級(jí)用戶管理員用戶:root
#編輯配置文件
vim /etc/mongod.conf

auth=true   
#添加指定

use admin
db.createUser({"yj":"root","pwd":"123","roles":["root"]})
#創(chuàng)建用戶yj  密碼123  分配root角色

db.auth("root","123")     
#驗(yàn)證用戶

進(jìn)程管理

查看當(dāng)前正在運(yùn)行的進(jìn)程: db.currentOp()
終止正在運(yùn)行的進(jìn)程: db.killOp(opid值)
 db.currentOp()      
#查看當(dāng)前運(yùn)行進(jìn)程

db.killOp(4872) 
#終止4872進(jìn)程

MongoDB 監(jiān)控

MongoDB提供一些內(nèi)置工具可以監(jiān)測(cè)數(shù)據(jù)庫(kù)的狀態(tài)信息
查看數(shù)據(jù)庫(kù)實(shí)例的狀態(tài)信息: db.serverStatus()
查看數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息: db.stats()
此外也可以通過web界面查看系統(tǒng)監(jiān)控信息需要在配置文件中加入
##編輯配置文件
vim /etc/mongod.conf

#開啟http服務(wù)
httpinterface=true

文章名稱:非關(guān)系數(shù)據(jù)庫(kù)------MongoDB的安裝與使用
轉(zhuǎn)載注明:http://weahome.cn/article/goiidd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部