mongodb 备份mysql_MongoDB备份与恢复
本章將介紹如何在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)打開命令提示符并轉(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ù) admin 和 test,那么它將創(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" }
>
總結(jié)
以上是生活随笔為你收集整理的mongodb 备份mysql_MongoDB备份与恢复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 长城汽车智能新能源登陆新加坡,东盟市场版
- 下一篇: python3seek_Python3