在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ MongoDB備份與恢復(fù)
MongoDB教程
MongoDB覆蓋查詢
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶密碼和自定義數(shù)據(jù)
MongoDB用戶
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫(kù)引用
MongoDB復(fù)制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點(diǎn)
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動(dòng)遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復(fù)
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫(kù)
MongoDB認(rèn)證
MongoDB限制記錄數(shù)
MongoDB添加用戶
MongoDB固定循環(huán)集合
MongoDB高級(jí)索引
MongoDB數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)
MongoDB快速入門
MongoDB創(chuàng)建數(shù)據(jù)庫(kù)
MongoDB啟用身份驗(yàn)證
MongoDB歷史
MongoDB管理用戶和角色
MongoDB安裝配置(RedHat/CentOS)
MongoDB刪除文檔
Java連接MongoDB操作
MongoDB正則表達(dá)式
MongoDB查詢文檔
MongoDB關(guān)聯(lián)關(guān)系
PHP連接MongoDB操作
MongoDB更新文檔
MongoDB ObjectId

MongoDB備份與恢復(fù)

本章將介紹如何在MongoDB中創(chuàng)建備份,以及如何恢復(fù)數(shù)據(jù)。

導(dǎo)出轉(zhuǎn)儲(chǔ)MongoDB數(shù)據(jù)

要在MongoDB中創(chuàng)建數(shù)據(jù)庫(kù)備份,應(yīng)該使用 mongodump 命令。 此命令將導(dǎo)出轉(zhuǎn)儲(chǔ)服務(wù)器的整個(gè)數(shù)據(jù)到轉(zhuǎn)儲(chǔ)目錄。有許多選項(xiàng)可用于限制數(shù)據(jù)量或創(chuàng)建遠(yuǎn)程服務(wù)器的備份。

語(yǔ)法

mongodump命令的基本語(yǔ)法如下:

> mongodump

示例

啟動(dòng) mongod 服務(wù)器 假設(shè)您的 mongod 服務(wù)器正在本地主機(jī)和端口 27017 上運(yùn)行,請(qǐng)打開(kāi)命令提示符并轉(zhuǎn)到 mongodb 實(shí)例的 bin 目錄(如示例安裝路徑:D:\Program Files\MongoDB\Server\3.4\bin),然后鍵入命令:mongodump

考慮 mycol 集合具有以下數(shù)據(jù) -

> db.mycol.find({}, {"_id":1, "title":1})
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 104, "title" : "Python Quick Guide" }
{ "_id" : 100, "title" : "MongoDB Overview" }
>

現(xiàn)在使用以下命令,創(chuàng)建備份 -

> mongodump

該命令將連接到運(yùn)行在 127.0.0.1 和端口 27017 的服務(wù)器,并將服務(wù)器的所有數(shù)據(jù)恢復(fù)到目錄/bin/dump/。 以下是命令的輸出 -

yiibai@ubuntu:~$ mongodump
2017-07-02T17:31:51.115-0700    writing admin.system.version to
2017-07-02T17:31:51.118-0700    done dumping admin.system.version (1 document)
2017-07-02T17:31:51.119-0700    writing test.inventory to
2017-07-02T17:31:51.119-0700    writing test.article to
2017-07-02T17:31:51.120-0700    writing test.mycol to
2017-07-02T17:31:51.121-0700    done dumping test.inventory (5 documents)
2017-07-02T17:31:51.122-0700    done dumping test.article (4 documents)
2017-07-02T17:31:51.122-0700    done dumping test.mycol (4 documents)
yiibai@ubuntu:~$

此時(shí)你可能想知道,上面導(dǎo)出的備份文件放到什么地方了? 默認(rèn)情況下,MongoDB 會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè) dump 目錄,并把所有的數(shù)據(jù)庫(kù)按數(shù)據(jù)庫(kù)名稱創(chuàng)建目錄。在這個(gè)實(shí)例中,有兩數(shù)據(jù)庫(kù) admintest,那么它將創(chuàng)建兩個(gè)目錄。

怎么樣知道 MongoDB 文件的位置?

對(duì)于大部分軟件,尤其是 Linux平臺(tái)上的軟件,都有一個(gè)相關(guān)的配置文件,因此任何的設(shè)置選項(xiàng)都可以從這個(gè)文件中找到。配置文件的一般在 /etc 目錄下,所以,mongodb 的配置文件在 /etc/mongod.conf , mongod.conf配置的內(nèi)容如下 -

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1

#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:

以下是可用于 mongodump 命令的可用選項(xiàng)的列表。

語(yǔ)法 描述 示例
mongodump —host HOST_NAME —port PORT_NUMBER 此命令將備份指定的 mongod 實(shí)例的所有數(shù)據(jù)庫(kù)。 mongodump --host 127.0.0.1 --port 27017
mongodump —out BACKUP_DIRECTORY 此命令將僅在指定路徑上備份數(shù)據(jù)庫(kù)。 mongodump --out /home/yiibai/mongobak
mongodump —collection COLLECTION —db DB_NAME 此命令將僅備份指定數(shù)據(jù)庫(kù)的指定集合。 mongodump --collection mycol --db test

恢復(fù)數(shù)據(jù)

要恢復(fù)備份數(shù)據(jù),使用MongoDB的 mongorestore 命令。 此命令從備份目錄中恢復(fù)所有數(shù)據(jù)。

語(yǔ)法

mongorestore命令的基本語(yǔ)法是 -

> mongorestore

在恢復(fù)數(shù)據(jù)之前,先刪除當(dāng)前數(shù)據(jù)庫(kù)的部分?jǐn)?shù)據(jù),以演示導(dǎo)入恢復(fù)數(shù)據(jù)后可以查詢到備份時(shí)的數(shù)據(jù)。

> db.mycol.remove({})
WriteResult({ "nRemoved" : 4 })
>
> db.mycol.find({})
>
>

執(zhí)行恢復(fù)命令后,重新查詢數(shù)據(jù) -

> db.mycol.find({}, {"title":1})
{ "_id" : 101, "title" : "MongoDB Guide" }
{ "_id" : 102, "title" : "NoSQL Database" }
{ "_id" : 104, "title" : "Python Quick Guide" }
{ "_id" : 100, "title" : "MongoDB Overview" }
>