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

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

MongoDB備份與恢復

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

導出轉儲MongoDB數據

要在MongoDB中創(chuàng)建數據庫備份,應該使用 mongodump 命令。 此命令將導出轉儲服務器的整個數據到轉儲目錄。有許多選項可用于限制數據量或創(chuàng)建遠程服務器的備份。

語法

mongodump命令的基本語法如下:

> mongodump

示例

啟動 mongod 服務器 假設您的 mongod 服務器正在本地主機和端口 27017 上運行,請打開命令提示符并轉到 mongodb 實例的 bin 目錄(如示例安裝路徑:D:\Program Files\MongoDB\Server\3.4\bin),然后鍵入命令:mongodump

考慮 mycol 集合具有以下數據 -

> 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" }
>

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

> mongodump

該命令將連接到運行在 127.0.0.1 和端口 27017 的服務器,并將服務器的所有數據恢復到目錄/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:~$

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

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

對于大部分軟件,尤其是 Linux平臺上的軟件,都有一個相關的配置文件,因此任何的設置選項都可以從這個文件中找到。配置文件的一般在 /etc 目錄下,所以,mongodb 的配置文件在 /etc/mongod.confmongod.conf配置的內容如下 -

# 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 命令的可用選項的列表。

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

恢復數據

要恢復備份數據,使用MongoDB的 mongorestore 命令。 此命令從備份目錄中恢復所有數據。

語法

mongorestore命令的基本語法是 -

> mongorestore

在恢復數據之前,先刪除當前數據庫的部分數據,以演示導入恢復數據后可以查詢到備份時的數據。

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

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

> 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" }
>

上一篇:MongoDB用戶下一篇:MongoDB刪除數據庫