MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程
要備份一個(gè)數(shù)據(jù)庫(kù),
mongorestore -d db /path/to/back_up
例如:
mongodump -d bookstore -o /data01/db_backup/
該命令會(huì)dump出該DB所有的collection
從備份文件夾恢復(fù)數(shù)據(jù)
mongorestore -d bookstore /data01/db_backup/bookstore
只備份或回復(fù)指定的collection
以bookstore DB 中statistics 表為例
mongodump -d bookstore -c statistics -o /data01/db_backup/
然后restore時(shí)指定該collection對(duì)應(yīng)的bson文件
mongorestore -d bookstore -c statistics /data01/db_backup/bookstore/statistics.bson
通過(guò)條件查詢dump
還可以通過(guò)一個(gè)query來(lái)dump中一個(gè)collection中符合條件的某些記錄, 例如
mongodump -d bookstore -c novel_sources -q "{\"tag\": \"tag_11\"}" -o /data01/db_backup/
要注意的是如果query中有$符號(hào),需要轉(zhuǎn)義,例如
mongodump -d qunimei -c collection_name -q "{\"date\": {\"\$gte\": \"2015-03-25\"}}" -o /path/to/dump
注意事項(xiàng)
mongorestore并不會(huì)覆蓋已有的記錄,而是重復(fù)添加(如果可以的話)。
當(dāng)數(shù)據(jù)量很大的時(shí)候,該方法耗時(shí)很大。
直接備份數(shù)據(jù)文件
mongo 127.0.0.1:27017/db_to_back --eval "db.fsyncLock()" rsync -avh --delete /path/to/your/mongofile /path/to/backup/folder/ mongo 127.0.0.1:21001/turbo --eval "db.fsyncUnlock()"
關(guān)鍵是第一行和第三行的兩個(gè)命令,對(duì)于db.fsyncLock(),mongodb的文檔說(shuō)明
db.fsyncLock()
Forces the mongod to flush all pending write operations to the disk and locks the entire mongod instance to prevent additional writes until the user releases the lock with the db.fsyncUnlock() command. db.fsyncLock() is an administrative command.將mongod 未完成的寫操作寫入數(shù)據(jù)文件并阻止新的寫入操作,知道運(yùn)行db.fsyncUnlock()命令,因此拷貝數(shù)據(jù)文件前后要執(zhí)行這兩個(gè)命令。
與其他備份恢復(fù)工具的對(duì)比
mongodb自帶的備份工具還有bsondump、mongoexport,恢復(fù)工具還有mongoimport ,幾者之間的具體區(qū)別是:
bsondump、mongoexport、mongodump備份工具的對(duì)比:
1、bsondump可以指定備份的格式為json和debug模式,這個(gè)命令雖然附帶,但很少用到 ;
2、mongoexport 可以導(dǎo)出json或csv格式的文件,可以指定查詢過(guò)濾器或指定輸出的域,不過(guò)此工具導(dǎo)出的json,csv可能對(duì)某些數(shù)據(jù)類型不兼容,因此可能不能全部數(shù)據(jù)導(dǎo)出,mongodump就可以全部兼容 ;
3、mongodump支持過(guò)濾 ,而且在導(dǎo)出速度和壓縮率方面mongodump是最快最好的 。所以,若無(wú)csv或debug等特殊格式的備份需求,一般都使用 mongodump 作為備份工具 。
mongorestore與mongoimport 恢復(fù)工具的對(duì)比:
1、 mongoimport 可以接受json,csv,tsv格式的文件,每行為一個(gè)對(duì)象 。同mongoexport一樣,其在恢復(fù)過(guò)程中同樣存在兼容性的問(wèn)題,所以有恢復(fù)不完整的概率 ;
2、mongorestore,速度較慢,比mongoimport慢2.5倍左右,但是根據(jù)mongodump導(dǎo)出的數(shù)據(jù),可以完整導(dǎo)入數(shù)據(jù)。在restore過(guò)程中,索引根據(jù)之前dump的結(jié)果重新創(chuàng)造。
- MongoDB的備份與恢復(fù)
- mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)
- 分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB備份與恢復(fù)的實(shí)踐詳解
- 使用centos系統(tǒng)中的crontab命令對(duì)mongodb定時(shí)備份恢復(fù)
- Mongodb實(shí)現(xiàn)定時(shí)備份與恢復(fù)的方法教程
- MongoDB 導(dǎo)出導(dǎo)入備份恢復(fù)數(shù)據(jù)詳解及實(shí)例
- Windows或Linux系統(tǒng)中備份和恢復(fù)MongoDB數(shù)據(jù)的教程
- Mongodb數(shù)據(jù)庫(kù)的備份與恢復(fù)操作實(shí)例
- MongoDB整庫(kù)備份與還原以及單個(gè)collection備份、恢復(fù)方法
- MongoDB的備份(mongodump)與恢復(fù)(mongorestore)
相關(guān)文章
教大家8天學(xué)通MongoDB——第一天 基礎(chǔ)入門篇
MongoDB是目前非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL),因其操作簡(jiǎn)單、完全免費(fèi)、源碼公開(kāi)等特點(diǎn),受到了IT從業(yè)人員的青睞,并被廣泛部署于實(shí)際的生產(chǎn)環(huán)境中。本文教大家8天學(xué)通MongoDB——第一天 基礎(chǔ)入門篇,感興趣的朋友一起來(lái)了解了解吧2015-09-09
MongoDB學(xué)習(xí)之Text Search文本搜索功能
這篇文章主要給大家介紹了MongoDB之Text Search文本搜索功能的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05
Pycharm連接MongoDB數(shù)據(jù)庫(kù)安裝教程詳解
這篇文章主要介紹了Pycharm連接MongoDB數(shù)據(jù)庫(kù)安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Win10 64位安裝MongoDB數(shù)據(jù)庫(kù)的詳細(xì)教程
這篇文章主要介紹了Win10 64位安裝MongoDB數(shù)據(jù)庫(kù)的詳細(xì)教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
JavaScript按日期查詢MongoDB中的數(shù)據(jù)的要點(diǎn)示例
這篇文章主要介紹了JavaScript按日期查詢MongoDB中數(shù)據(jù)的要點(diǎn)示例,MongoDB所支持的BSON有JSON沒(méi)有的一些數(shù)據(jù)類型,如Date和BinData類型,需要的朋友可以參考下2016-03-03
關(guān)于CentOS 8 搭建MongoDB4.4分片集群的問(wèn)題
在MongoDB里面存在另一種集群,就是分片技術(shù),可以滿足MongoDB數(shù)據(jù)量大量增長(zhǎng)的需求。這篇文章主要介紹了CentOS 8 搭建MongoDB4.4分片集群的問(wèn)題,需要的朋友可以參考下2021-10-10
mongoDB數(shù)據(jù)庫(kù)索引快速入門指南
索引是一種特殊的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)設(shè)置在一個(gè)易于遍歷形式的數(shù)據(jù)的一小部分。索引存儲(chǔ)一個(gè)特定的字段或一組字段的值,在索引中指定的值的字段排列的,對(duì)mongoDB索引相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)下吧2022-03-03
Mongodb 崩潰報(bào)錯(cuò) Too many open files的問(wèn)題解析
這篇文章主要介紹了Mongodb 崩潰報(bào)錯(cuò) Too many open files的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
基于MongoDB數(shù)據(jù)庫(kù)索引構(gòu)建情況全面分析
下面小編就為大家?guī)?lái)一篇基于MongoDB數(shù)據(jù)庫(kù)索引構(gòu)建情況全面分析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問(wèn)題
這篇文章主要介紹了分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)之MongoDB分片集群的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11

