mongodump及mongorestore是用於備份和恢復mongodb數據庫的兩個命令,位於mongodb安裝目錄的bin文件夾下。mongodb
mongodump導出的備份文件爲二進制格式,每個文檔的對應備份文件有兩個,文檔名.bson和文檔名.metadata.json兩個文件。數據庫
先看一個mongodump的使用示例:json
該命令將vodlite3數據庫備份到/mibackup/目錄下。咱們查看mibackup目錄能夠看到備份結構以下:服務器
mongodump可用選項以下:app
–help
查看幫助信息。調試
-v [ --verbose ]
顯示更多調試信息。rest
–version
顯示該命令版本。server
-h [ --host ] arg
mongodb數據庫所在主機IP地址。ip
–port arg
mongodb啓動時所使用的端口。也能夠使用 –host:port格式直接指定主機和端口。ci
–ipv6
是否支持ipv6 。
-u [ --username ] arg
指定登錄用戶名。
-p [ --password ] arg
指定登錄密碼。
–dbpath arg
越過mongod服務器,直接訪問給定路徑的mongod數據庫文件。使用該參數須要鎖定給定的數據目錄,因此須要先關閉使用該目錄的mongod服務。
–directoryperdb
若是指定了dbpath目錄,那麼每一個db都會給保存到一個單獨的文件夾中。
–journal
enable journaling
-d [ --db ] arg
準備備份的數據庫。
-c [ --collection ] arg
準備備份的集合。
-o [ --out ] arg
導出數據將要保存在的目錄,如參數爲「-」,則直接在控制檯顯示。
-q [ --query ] arg
json query
–oplog
Use oplog for point-in-time snapshotting
–repair
嘗試修復損壞的數據庫。
–forceTableScan
強制表掃描。
mongorestore用來恢復mongodump導出的數據,語法格式以下:
使用該命令恢復剛纔備份的數據:
可用選項以下:
–help
produce help message
-v [ --verbose ]
be more verbose (include multiple times for more verbosity e.g. -vvvvv)
–version
print the program’s version and exit
-h [ --host ] arg
mongo host to connect to ( /s1,s2 for sets)
–port arg
server port. Can also use –host hostname:port
–ipv6
enable IPv6 support (disabled by default)
-u [ --username ] arg
username
-p [ --password ] arg
password
–dbpath arg
directly access mongod database files in the given path, instead of connecting to a mongod server – needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path
–directoryperdb
if dbpath specified, each db is in a separate directory
–journal
enable journaling
-d [ --db ] arg
database to use
-c [ --collection ] arg
collection to use (some commands)
–objcheck
validate object before inserting
–filter arg
filter to apply before inserting
–drop
drop each collection before import
–oplogReplay
replay oplog for point-in-time restore
–keepIndexVersion
don’t upgrade indexes to newest version
參考連接:
一、mongodump的官方幫助文檔
二、mongodbde備份及恢復策略