好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MongoDB的備份與恢復

MongoDB的備份與恢復

熱門標簽:crm外呼系統聯系方式 長沙電銷外呼防封卡是什么 呼和浩特外呼系統原理是什么 小裙科技電銷機器人怎樣 內蒙古營銷智能外呼系統哪個好 河南電話外呼系統招商 青白江400企業電話申請 智能外呼系統官網 外呼線路資源屬于電信業務嗎

    任何數據庫都離不開日常的備份與恢復,這二者是數據庫安全的前提,MongoDB的備份與恢復方法一般而言都采用自帶的工具來進行。

     在開始講述備份之前,需要首先了解兩個概念,一個是恢復點目標、一個叫恢復時間目標,下面我們分別來看:

  • 恢復點目標:

(也叫RPO,recovery point objective)

也就是數據可以恢復到哪個時間點,可以承受多少損失。

  • 恢復時間目標:

(也叫RTO,recover time objective),在發生故障的時候,數據庫可以承受多長時間宕機。

有了這兩個概念,就可以理解不同備份恢復方法可以滿足的RPO和RTO是多少了。

來看備份工具:

Mongodump工具

在MongoDB中,mongodump工具通常用來做備份使用。它有如下特點:

1、可以對mongos和mongod進行操作

2、備份的是數據和數據結構,會以bson數據格式存儲

3、不會備份索引,只會備份索引的元數據,只有在恢復的時候才會重建索引。

4、備份的過程中,mongodump會批量的將數據加載到內存中,該方法在數據量比較大的時候,會持續占用內存資源,會增加IO負載壓力。

5、可以備份整個數據庫、整個集合、部分集合內容

該工具的缺點:

1、僅僅適合備份小型的、或者單一數據庫的備份

2、數據量大的時候,備份時間較長

關于Mongodump的命令使用方法,大家可以mongodump --help去查看,常用選項如下:

-p,--port:端口

-h,--host:IP地址

-d,--db:數據庫

-c,--collection:備份的集合名稱

-q,--query:備份數據的條件表達式

-o,--out:備份文件的存放位置

-u,--username:用戶名

-p,--password:密碼

--authenticationDataBase:認證數據庫

具體的使用方法,下面有例子。

Mongorestore工具

   數據備份和數據恢復二者是不可分割的,因為數據的備份,本質上還是為了恢復準備的,如果備份的數據不能恢復,那么備份也就失去了意義。

    在MongoDB中,Mongorestore這個工具是用來做數據恢復的,數據恢復命令的常用參數如下:

與mongodump重復的部分不再贅述

-p,--port

-h,--host

-d,--db

-c,--collection

--dir:恢復文件存放的位置,如果指定了數據庫文件夾或者集合文件,則只恢復當前數據庫或者當前集合,如果沒有指定,則恢復當前目錄下所有備份數據。

--drop:恢復前會刪除已有的數據庫

-u,--user

-p,--password

--authenticationDatabase

下面來看樣例:

數據備份舉例

備份所有數據庫
mongodump --port=27017 -h 127.0.0.1 -o /data/mongodb_backup -u root -p 123456 
2020-11-23T23:40:41.599+0800 writing admin.system.users to 
2020-11-23T23:40:41.626+0800 done dumping admin.system.users (3 documents)
2020-11-23T23:40:41.626+0800 writing admin.system.roles to 
2020-11-23T23:40:41.651+0800 done dumping admin.system.roles (1 document)
2020-11-23T23:40:41.651+0800 writing admin.system.version to 
2020-11-23T23:40:41.680+0800 done dumping admin.system.version (2 documents)
2020-11-23T23:40:41.680+0800 writing test.yeyz to 
2020-11-23T23:40:41.680+0800 writing yeyz.test to 
2020-11-23T23:40:41.726+0800 done dumping yeyz.test (2 documents)
2020-11-23T23:40:41.727+0800 done dumping test.yeyz (3 documents)

備份yeyz這一個數據庫
[root@VM-0-14-centos ~]# mongodump -d yeyz --port=27017 -h 127.0.0.1 -o /data/mongodb_backup -u root -p 123456 --authenticationDatabase admin   
2020-11-23T23:41:58.991+0800 writing yeyz.test to 
2020-11-23T23:41:59.050+0800 done dumping yeyz.test (2 documents)

備份yeyz數據庫中的test集合中的name=ccc的記錄
[root@VM-0-14-centos ~]# mongodump -d yeyz -c test -q '{name:{$eq:"ccc"}}' --port=27017 -h 127.0.0.1 -o /data/mongodb_backup -u root -p 123456 --authenticationDatabase admin
2020-11-23T23:43:24.473+0800 writing yeyz.test to 
2020-11-23T23:43:24.501+0800 done dumping yeyz.test (1 document)

數據恢復舉例

恢復前
> use yeyz
switched to db yeyz
> show tables;
test
> db.test.find()
{ "_id" : ObjectId("5fa7eae2515b814f18f2d474"), "name" : "ccc" }
{ "_id" : ObjectId("5fa7f00e523d80402cdfa326"), "name" : "bbb" }

恢復后
> show tables;
test
test_recover
> db.test_recover.find()
{ "_id" : ObjectId("5fa7eae2515b814f18f2d474"), "name" : "ccc" }

我們成功的將上面的yeyz數據庫中的test集合中的name=ccc的記錄恢復到了test_recover這個集合當中。

物理備份

    物理備份的概念大家應該都理解,常用的方法是復制物理硬盤上的數據庫文件。

    想要保證復制的物理文件和真實的數據庫文件一致,需要保證當前數據庫沒有寫入。如果數據庫有寫入,則復制的數據是不準確的。所以,物理復制必須在MongoDB實例停機狀態或者鎖定狀態下進行。一般來講,在MongoDB集群中,我們會使用鎖定從庫的辦法來進行備份。

    通常情況下,使用:

db.fsyncLock()  鎖定從數據庫。

db.fsyncUnlock() 解鎖數據庫

    鎖定從節點的數據庫之后,在從節點上使用物理文件拷貝的方式進行備份即可。

    備份完成即可解鎖數據庫。

最后,數據備份的時候,如果有寫入,那么備份的數據是否會不準確?例如下面這樣:

如果我們的備份進度處在中間位置,即:

    A庫備份完成的時候,B庫沒有開始備份

此時分別寫入A庫和B庫兩個文檔,則最終的備份結果中,A庫的數據沒有新增的數據,B庫的數據有新增的數據,就會產生數據的不一致。為了解決這個問題,備份一般都使用鎖定數據庫或者停止實例的方法來解決。

    在MongoDB中,可以在從庫上進行鎖定或者停止實例的備份操作,不建議在線上環境使用MongoDB單庫,因為這種情況,備份恢復將會成為一個瓶頸問題。

以上就是MongoDB的備份與恢復的詳細內容,更多關于MongoDB 備份與恢復的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • mongoDB4.2.8備份恢復與導出導入(推薦)
  • 分布式文檔存儲數據庫之MongoDB備份與恢復的實踐詳解
  • 使用centos系統中的crontab命令對mongodb定時備份恢復
  • Mongodb實現定時備份與恢復的方法教程
  • MongoDB 導出導入備份恢復數據詳解及實例
  • MongoDB使用自帶的命令行工具進行備份和恢復的教程
  • Windows或Linux系統中備份和恢復MongoDB數據的教程
  • Mongodb數據庫的備份與恢復操作實例
  • MongoDB整庫備份與還原以及單個collection備份、恢復方法

標簽:池州 菏澤 呼倫貝爾 白山 安順 舟山 黃石 楚雄

巨人網絡通訊聲明:本文標題《MongoDB的備份與恢復》,本文關鍵詞  MongoDB,的,備份,與,恢復,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB的備份與恢復》相關的同類信息!
  • 本頁收集關于MongoDB的備份與恢復的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 泰剧tv泰剧97泰剧网| 搞中出| 新婚大ying乱小说| 男女羞羞视频软件| 久久国产精品精品国产色综合| 男男车漫画| 水野朝阳在线| 日韩精品一区二区三区国语自制| 欧美一级特黄AAAAAA片| 一女被多人伦轩wwwww视频| 69蝴蝶交换论坛| 楼梯间被闺蜜的男人1v1h| 波多野结衣www| 亚洲精品国产精品乱码| 久久久熟妇熟女ⅩXXX国产| bl被别人玩屁股眼小说| 左权县| 战天王免费阅读完整版| 国产人妻奶水一区二区| 久久久久久久精品综合棕色| 韩国三级hd在线电影| 高H电车里的日日液液| 人体体内she精汇编3| 影院佐山爱| 轻点受不了慢点好深h| 欧美另类xxxx图片| 精品久久久久久久久免费无码白丝 | 久久午夜夜伦鲁鲁片无码免费| 久久伊人蜜桃av| 曰批视频免费播放免费下载| 韩国三级跳视频在线观看| 亚州精品无码A片| 艳鉧动漫1~6无删减版资源| 吃b视频| 日本边摸边吃奶边做视频免费| 美女的胸又黄又www网站免费| 小宵虎南Av在线播放| 黑人强开嫩模又小又紧| 84pao国产成视频免费播放| 色婷婷久久综合中文久久一本`| 免费黄色网站视频|