国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MongoDB > 正文

MongoDB使用自帶的命令行工具進行備份和恢復的教程

2020-10-29 18:49:21
字體:
來源:轉載
供稿:網友

要備份一個數據庫,

mongorestore -d db /path/to/back_up

例如:

mongodump -d bookstore -o /data01/db_backup/

該命令會dump出該DB所有的collection
從備份文件夾恢復數據

mongorestore -d bookstore /data01/db_backup/bookstore

只備份或回復指定的collection
以bookstore DB 中statistics 表為例

mongodump -d bookstore -c statistics -o /data01/db_backup/

然后restore時指定該collection對應的bson文件

mongorestore -d bookstore -c statistics /data01/db_backup/bookstore/statistics.bson

通過條件查詢dump
還可以通過一個query來dump中一個collection中符合條件的某些記錄, 例如

mongodump -d bookstore -c novel_sources -q "{/"tag/": /"tag_11/"}" -o /data01/db_backup/

要注意的是如果query中有$符號,需要轉義,例如

mongodump -d qunimei -c collection_name -q "{/"date/": {/"/$gte/": /"2015-03-25/"}}" -o /path/to/dump

注意事項
mongorestore并不會覆蓋已有的記錄,而是重復添加(如果可以的話)。
當數據量很大的時候,該方法耗時很大。
直接備份數據文件

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()"

關鍵是第一行和第三行的兩個命令,對于db.fsyncLock(),mongodb的文檔說明

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 未完成的寫操作寫入數據文件并阻止新的寫入操作,知道運行db.fsyncUnlock()命令,因此拷貝數據文件前后要執行這兩個命令。

與其他備份恢復工具的對比

mongodb自帶的備份工具還有bsondump、mongoexport,恢復工具還有mongoimport ,幾者之間的具體區別是:

bsondump、mongoexport、mongodump備份工具的對比:

1、bsondump可以指定備份的格式為json和debug模式,這個命令雖然附帶,但很少用到 ;

2、mongoexport 可以導出json或csv格式的文件,可以指定查詢過濾器或指定輸出的域,不過此工具導出的json,csv可能對某些數據類型不兼容,因此可能不能全部數據導出,mongodump就可以全部兼容 ;

3、mongodump支持過濾 ,而且在導出速度和壓縮率方面mongodump是最快最好的 。所以,若無csv或debug等特殊格式的備份需求,一般都使用 mongodump 作為備份工具 。

mongorestore與mongoimport 恢復工具的對比:

1、 mongoimport 可以接受json,csv,tsv格式的文件,每行為一個對象 。同mongoexport一樣,其在恢復過程中同樣存在兼容性的問題,所以有恢復不完整的概率 ;

2、mongorestore,速度較慢,比mongoimport慢2.5倍左右,但是根據mongodump導出的數據,可以完整導入數據。在restore過程中,索引根據之前dump的結果重新創造。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 慈溪市| 泗水县| 麻栗坡县| 丹凤县| 新巴尔虎左旗| 黔南| 建平县| 垣曲县| 大庆市| 西城区| 绵竹市| 乾安县| 鲁山县| 宜宾市| 万荣县| 金乡县| 桑日县| 绥江县| 永顺县| 太康县| 沁水县| 陕西省| 辽阳县| 榆林市| 九龙城区| 益阳市| 卓资县| 福贡县| 东丽区| 翼城县| 吉安县| 文山县| 弥渡县| 宁化县| 柳江县| 柘城县| 菏泽市| 台东市| 木里| 定陶县| 醴陵市|