成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

dba+工具:MongoDB熱備份工具,解決官方版備份缺陷

數據庫 其他數據庫 MongoDB
目前官方MongoDB社區版是不支持Hot Backup熱備份的,我們只能通過mongodump等邏輯備份工具導出bson文件,再mongorestore導入,類似MySQL的mysqldump工具。

dba+工具:MongoDB熱備份工具,解決官方版備份缺陷

前言

目前官方MongoDB社區版是不支持Hot Backup熱備份的,我們只能通過mongodump等邏輯備份工具導出bson文件,再mongorestore導入,類似MySQL的mysqldump工具。

在備份副本集時,我們需指定--oplog選項記錄備份間產生的增量數據,類似mysqldump --single-transaction --master-data=2(做一致性快照并記錄當前的binlog點)。

對副本集的成員恢復,需先切成單機版,mongorestore必須指定--oplogReplay選項,以恢復到某一時刻的快照,最后還需填充oplog(增量數據以哪個位置點開始斷點續傳),mongorestore -d local -c oplog.rs dump/oplog.bson,最后一步再切為副本集成員重新啟動。

中小型數據庫備份起來簡單快捷,如果過TB級的數據量,那將是痛苦的。

如果你的oplog設置過小,很有可能在備份恢復這段時間,oplog被覆蓋重寫,那么你將永遠無法加入副本集集群里。

概述

Percona MongoDB 3.2版本默認開始支持WiredTiger引擎的在線熱備份,解決了官方版只能通過mongodump邏輯備份這一缺陷。

參考文獻:

https://www.percona.com/doc/percona-server-for-mongodb/LATEST/hot-backup.html#hot-backup

注意事項

1、要在當前dbpath中對數據庫進行熱備份,請在admin數據庫上以管理員身份運行createBackup命令,并指定備份目錄。

2、可以替換一臺從庫為Percona MongoDB,做備份使用。(我這里實測是Percona MongoDB 3.4版本)

原理

Percona MongoDB HotBackup熱備份原理:

你可以想象成xtrabackup工具

備份:

  • 首先會啟動一個后臺檢測的進程,實時檢測MongoDB Oplog的變化,一旦發現oplog有新的日志寫入,立刻將日志寫入到日志文件WiredTiger.backup中(你可以strings WiredTiger.backup查看oplog操作日志的變化);
  • 復制MongoDB dbpath的數據文件和索引文件到指定的備份目錄里;
  • ......

恢復:

  • 將WiredTiger.backup日志進行回放,將操作日志變更應用到WiredTiger引擎里,最終得到一致性快照恢復;
  • 把備份目錄里的數據文件直接拷貝到你的dbpath下,然后啟動MongoDB即可,會自動接入副本集集群。

運行

這里我封裝了一個PHP腳本,直接在SHELL里運行即可。

1、環境準備:

 

  1. shell> yum install -y php-pear php-devel php gcc openssl openssl-devel cyrus-sasl cyrus-sasl-devel 

2、php-mongo驅動安裝:

 

  1. shell> pecl install mongo 

把extension=mongo.so加入到/etc/php.ini最后一行。

3、創建mongodb超級用戶權限(備份時使用)

 

  1. db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]}) 

4、修改pmongo_bak.php配置信息

 

  1. //*************修改下面的配置信息***************//  
  2. $user = "admin"; //使用root用戶權限  
  3. $pwd = '123456';   
  4. $host = '192.168.180.26'; //在從庫上熱備  
  5. $port = '27017' 
  6. $authdb = 'admin'; //權限認證數據庫  
  7. $BAKDIR = "/data/bak/" 
  8. $BAKDIR .= date('Y_m_d_H_i_s');  
  9.  
  10. //*************下面的代碼不用修改***************//  
  11. $m = new MongoBak($user,$pwd,$host,$port,$authdb,$BAKDIR);  
  12. ...... 

 

5、前臺運行:

 

  1. shell> php pmongo_bak.php(以root權限運行) 

6、寫入系統crontab里

 

  1. 00 01 * * * /usr/bin/php /root/php_mongodb/pmongo_bak.php > /root/php_mongodb/bak_status.log 2 >&1 

7、不支持遠程備份,需將備份腳本部署在從庫里。如果你想把數據備份到遠程,可以采用NFS等文件系統mount掛載上。 

 

責任編輯:龐桂玉 來源: DBAplus社群
相關推薦

2020-05-19 11:46:50

MongoDB圖形開源

2023-06-27 07:29:30

dba+開源工具Binlog

2023-10-31 07:27:22

開源工具MySQL協議

2011-03-23 17:21:42

2023-08-29 07:22:06

MySQL數據工具故障恢復

2023-01-28 07:52:49

2023-07-19 07:29:00

2022-05-30 11:21:25

數據庫MySQL工具

2011-09-15 09:49:57

HBase

2009-12-28 15:44:45

Fedora rsyn

2015-03-18 13:39:35

MySQLBackup數據庫備份種類

2011-03-29 15:15:06

熱備份熱修復

2023-08-11 07:20:04

開源工具項目

2011-10-17 16:11:00

MySQL

2011-03-07 09:51:08

備份工具Ntbackup

2018-06-27 08:48:48

Linux系統備份

2010-09-14 09:15:03

RsyncLinux備份遠程數據同步

2009-12-24 15:47:16

免費虛擬化備份工具

2011-07-28 17:33:02

服務器WindowsServ

2023-01-12 15:08:54

Windows備份和克隆工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲www| 精品久久久一区二区 | 国产精品99久久久久久久vr | 国产一区不卡 | 色综合天天综合网国产成人网 | 麻豆久久久久久久 | 9191在线观看| 精品亚洲一区二区 | av影音在线| 久久99精品久久久久久国产越南 | 一级欧美日韩 | 日日操操操 | 成人精品一区二区户外勾搭野战 | 日本不卡高字幕在线2019 | 精品亚洲一区二区三区四区五区 | 国产日韩91 | 免费在线观看成人av | 天堂一区二区三区 | 日本一区二区三区在线观看 | 亚洲国产一 | 一区二区三区四区在线视频 | 欧美色综合天天久久综合精品 | 久久99精品久久久久久琪琪 | 国产精品久久久久久久久 | 狠狠做深爱婷婷综合一区 | 成人欧美一区二区三区色青冈 | 狠狠色综合久久婷婷 | 黑人精品 | 成人在线视频免费观看 | 亚洲国产精品自拍 | 国产一区免费 | 国产日韩欧美在线观看 | 亚洲精品国产成人 | www日本在线 | 一区二区三区日本 | 亚洲一区二区精品视频 | 久久久国产精品视频 | 日本国产高清 | 在线精品一区 | 日韩在线观看一区二区三区 | www视频在线观看 |