溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MongoDB的安裝與基本操作

發(fā)布時(shí)間:2020-03-01 14:47:21 來(lái)源:網(wǎng)絡(luò) 閱讀:299 作者:居思涵 欄目:MongoDB數(shù)據(jù)庫(kù)

一、關(guān)于MongoDB

1、MongoDB簡(jiǎn)介

MongoDB是一款跨平臺(tái)、面向文檔的數(shù)據(jù)庫(kù)。可以實(shí)現(xiàn)高性能、高可用性、并且能夠輕松擴(kuò)展。是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。
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ù)的。不采用關(guān)系模型主要是為了更好的擴(kuò)展性,MongoDB不再有“行”(row)的概念,其運(yùn)行方式主要基于兩個(gè)概念:集合(collection)與文檔(document)。

2、MongoDB的特點(diǎn)

MongoDB的特點(diǎn)包括面向集合存儲(chǔ)、模式自由、豐富的查詢語(yǔ)句和多級(jí)索引、復(fù)制集機(jī)制、易于水平擴(kuò)展、可插入面向文檔存儲(chǔ)功能、操作起來(lái)比較容易。
MongoDB安裝簡(jiǎn)單,提供了面向文檔存儲(chǔ)功能,操作起來(lái)比較容易。
MongoDB提供了復(fù)制、高可用和自動(dòng)分片功能,如果負(fù)載增加,它可以分布在計(jì)算機(jī)網(wǎng)路中的其他節(jié)點(diǎn)上,這就是所謂的分片。
Mongo支持豐富的查詢表達(dá)式。查詢指令使用JSON形式的標(biāo)記,可以輕易查詢文檔中的內(nèi)嵌的對(duì)象及數(shù)組。
MongoDB支持各種編程語(yǔ)言:Ruby、Python、java、C++、PHP、C#等多中語(yǔ)言。

3、MongoDB適用領(lǐng)域

MongoDB可以為Web應(yīng)用提供可拓展的高性能數(shù)據(jù)存儲(chǔ)解決方案。主要使用領(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ù)處理能力,可以很好的滿足Web2.0和移動(dòng)互聯(lián)網(wǎng)應(yīng)用數(shù)據(jù)存儲(chǔ)的要求。

二、MongoDB的安裝和基本操作

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

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

添加一塊橋接網(wǎng)卡保證虛擬機(jī)能夠訪問(wèn)外網(wǎng)

yum  install -y mongodb-org     //安裝
vi /etc/mongod.conf //修改監(jiān)聽(tīng)地址和端口

MongoDB的安裝與基本操作

systemctl start mongod  //啟動(dòng)服務(wù)
netstat -anpt | grep 27017  //查看監(jiān)聽(tīng)端口

MongoDB的安裝與基本操作

mongo   //進(jìn)庫(kù)
db.version()    //查看版本好
show dbs;   //查看庫(kù)
db.getMongo()   //查看連接當(dāng)前數(shù)據(jù)庫(kù)的地址

注:MongDB中的操作命令可以[tab]補(bǔ)全
MongoDB的安裝與基本操作

三、MongoDB的基本操作

1、開(kāi)啟多實(shí)列

cp -p /etc/mongod.conf /etc/mongod2.conf        //復(fù)制配置文件
vi /etc/mongod2.conf    //修改新實(shí)列對(duì)應(yīng)的路徑和端口

MongoDB的安裝與基本操作
MongoDB的安裝與基本操作

mkdir -p /data/mongodb/mongo        //創(chuàng)建目錄與配置文件中一致
cd /data/mongodb/
touch mongod2.log       //進(jìn)入mongodb目錄中添加日志文件
chmod 777 mongod2.log   //增加權(quán)限
mongod -f /etc/mongod2.conf //加載新實(shí)列的配置文件

MongoDB的安裝與基本操作

mongo --port 27018  //進(jìn)入新實(shí)列對(duì)應(yīng)的庫(kù)
netstat -ntap | grep mongod     //退出實(shí)列查看端口

MongoDB的安裝與基本操作

2、MongoDB的基本命令

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

3、數(shù)據(jù)的導(dǎo)入導(dǎo)出

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

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

mkdir /backup
mongodump -d mydb -o /backup/       //備份
mongorestore -d mydb --dir=/backup/mydb  //恢復(fù)

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

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

6、克隆集合

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

7、創(chuàng)建管理用戶

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

8、進(jìn)程管理

db.currentOp() //查看進(jìn)程
db.killOp(進(jìn)程號(hào)) //殺掉進(jìn)程

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI