溫馨提示×

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

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

MongoDB安裝與操作大全

發(fā)布時(shí)間:2020-07-08 12:16:05 來源:網(wǎng)絡(luò) 閱讀:1397 作者:藍(lán)月CC 欄目:MongoDB數(shù)據(jù)庫

簡(jiǎn)介

  1. MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
  2. MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(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ù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

特點(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ò)訪問。
    適用場(chǎng)景
  • 網(wǎng)站數(shù)據(jù)
  • 緩存
  • 大尺寸、低價(jià)值的數(shù)據(jù)
  • 高伸縮性的場(chǎng)景
  • 用于對(duì)象及JSON 數(shù)據(jù)的存儲(chǔ)
  • 高度事務(wù)性的系統(tǒng)
  • 傳統(tǒng)的商業(yè)智能應(yīng)用
  • 需要SQL 的問題
    一、MongoDB安裝
    1、添加yum源

    vim /etc/yum.repos.d/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
    2、安裝mongodb

    yum list
    yum install mongodb-org -y

    3、編輯配置文件

    vim /etc/mongod.conf #yum 安裝的配置文件在/etc下

port: 27017 #監(jiān)聽端口
bindIp: 0.0.0.0 #監(jiān)聽地址
MongoDB安裝與操作大全
4、開啟服務(wù)

systemctl start mongod.service #方法一
mongod -f /etc/mongod.conf #方法二
netstat -anpt | grep 27017 #查看端口

MongoDB安裝與操作大全
5、關(guān)閉服務(wù)

mongod -f /etc/mongod.conf --shutdown #方法一
kill-9 進(jìn)程號(hào) #方法二

6、進(jìn)入數(shù)據(jù)庫
MongoDB安裝與操作大全
二、多實(shí)例操作
1、編輯實(shí)例2的配置文件

cd /etc/
cp -p mongod.conf mongod2.conf #復(fù)制配置文件
vim mongod2.conf #修改配置文件

 path: /data/mongodb/mongod2.log
 dbPath: /data/mongodb/mongod2
  port: 27018

2、創(chuàng)建日志文件、數(shù)據(jù)文件存放目錄

mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongod2
touch mongod2.log
chmod 777 mongod2.log

MongoDB安裝與操作大全
3、開啟實(shí)例2

mongod -f /etc/mongod2.conf

MongoDB安裝與操作大全

4、查看端口

netstat -ntap

MongoDB安裝與操作大全
四、基本操作命令
#增

//不存在會(huì)創(chuàng)建,不建立集合會(huì)刪除
use mydb;
//插入數(shù)據(jù)
db.createCollection('a');
db.a.insert ({"id":1,"name":"zhang1"});
for (var i=2;i<=100;i++)db.a.insert({"id":i,"name":"zhang"+i});

MongoDB安裝與操作大全
#查

//查看數(shù)據(jù)庫
show dbs;
//查看集合
show collections;/show tables;

MongoDB安裝與操作大全

//查看信息
db.a.find();
//篩選查看
db.a.findOne({"id":3});

MongoDB安裝與操作大全

//別名篩選查看
c=db.a.findOne({"id":5});
//查看類型
typeof(c.id);

MongoDB安裝與操作大全
#改

//更改
db.users.update({"id":3},{$set:{"name":"tom"}});

MongoDB安裝與操作大全
#刪

//刪除信息
db.a.remove({"id":3});
//刪除集合
db.a.drop();
//刪除數(shù)據(jù)庫
db.dropDatabase();

MongoDB安裝與操作大全
五、導(dǎo)入、導(dǎo)出數(shù)據(jù)庫

首先創(chuàng)建一個(gè)school數(shù)據(jù)庫
for (var i=1;i<=100;i++)db.info.insert({"id":i,"name":"zhang"+i});

MongoDB安裝與操作大全

//導(dǎo)出
mongoexport -d school -c info -o /opt/school.json #導(dǎo)出整個(gè)數(shù)據(jù)庫
mongoexport -d school -c info -q '{"id":{$eq:10}}' -o /opt/top10.json #有條件的導(dǎo)出數(shù)據(jù)

MongoDB安裝與操作大全

//導(dǎo)入
mongoimport -d abc -c info --file a.json

MongoDB安裝與操作大全

六、備份、恢復(fù)

//備份
mongodump -d school -o /opt/ #/opt自動(dòng)按數(shù)據(jù)庫名稱建立文件

MongoDB安裝與操作大全

//恢復(fù)
mongorestore -d aaa --dir=/opt/school #還原的數(shù)據(jù)庫可以不存在

MongoDB安裝與操作大全
七、復(fù)制數(shù)據(jù)庫

db.copyDatabase("aaa","aaa2") #數(shù)據(jù)庫中內(nèi)容也會(huì)復(fù)制

MongoDB安裝與操作大全
八、克隆集合

mongo --port 27018 跨實(shí)例克隆(在另外的實(shí)例中)
db.runCommand({"cloneCollection":"aaa.info","from":"192.168.37.128:27017"})

MongoDB安裝與操作大全
九、創(chuàng)建管理用戶

use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root","123") #顯示1,成功

MongoDB安裝與操作大全
十、進(jìn)程管理

db.currentOp()

MongoDB安裝與操作大全

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

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

AI