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

首頁 > 網站 > 幫助中心 > 正文

Xtrabackup使用指南 InnoDB數據備份工具

2024-07-09 22:47:55
字體:
來源:轉載
供稿:網友
一、Xtrabackup介紹

  A、Xtrabackup是什么

  Xtrabackup是一個對InnoDB做數據備份的工具,支持在線熱備份(備份時不影響數據讀寫),是商業備份工具InnoDB Hotbackup的一個很好的替代品。

  Xtrabackup有兩個主要的工具:xtrabackup、innobackupex

  1、xtrabackup只能備份InnoDB和XtraDB兩種數據表,而不能備份MyISAM數據表
  2、innobackupex是參考了InnoDB Hotbackup的innoback腳本修改而來的.innobackupex是一個perl腳本封裝,封裝了xtrabackup。主要是為了方便的 同時備份InnoDB和MyISAM引擎的表,但在處理myisam時需要加一個讀鎖。并且加入了一些使用的選項。如slave-info可以記錄備份恢 復后,作為slave需要的一些信息,根據這些信息,可以很方便的利用備份來重做slave。
  3、官方文檔:http://www.percona.com/docs/wiki/percona-xtrabackup:start

  B、Xtrabackup可以做什么

  在線(熱)備份整個庫的InnoDB、 XtraDB表
  在xtrabackup的上一次整庫備份基礎上做增量備份(innodb only)
  以流的形式產生備份,可以直接保存到遠程機器上(本機硬盤空間不足時很有用)

  MySQL數據庫本身提供的工具并不支持真正的增量備份,二進制日志恢復是point-in-time(時間點)的恢復而不是增量備份。Xtrabackup工具支持對InnoDB存儲引擎的增量備份,工作原理如下:

  (1)首先完成一個完全備份,并記錄下此時檢查點的LSN(Log Sequence Number)。
  (2)在進程增量備份時,比較表空間中每個頁的LSN是否大于上次備份時的LSN,如果是,則備份該頁,同時記錄當前檢查點的LSN。

  首先,在logfile中找到并記錄最后一個checkpoint(“last checkpoint LSN”),然后開始從LSN的位置開始拷貝InnoDB的logfile到xtrabackup_logfile;接著,開始拷貝全部的數據文 件.ibd;在拷貝全部數據文件結束之后,才停止拷貝logfile。

  因為logfile里面記錄全部的數據修改情況,所以,即時在備份過程中數據文件被修改過了,恢復時仍然能夠通過解析xtrabackup_logfile保持數據的一致。

  C、Xtrabackup備份原理

  XtraBackup基于InnoDB的crash-recovery功能。它會復制innodb的data file,由于不鎖表,復制出來的數據是不一致的,在恢復的時候使用crash-recovery,使得數據恢復一致。

  InnoDB維護了一個redo log,又稱為transaction log,事務日志,它包含了innodb數據的所有改動情況。當InnoDB啟動的時候,它會先去檢查data file和transaction log,并且會做二步操作:

  XtraBackup在備份的時候, 一頁一頁地復制innodb的數據,而且不鎖定表,與此同時,XtraBackup還有另外一個線程監視著transactions log,一旦log發生變化,就把變化過的log pages復制走。為什么要急著復制走呢? 因為transactions log文件大小有限,寫滿之后,就會從頭再開始寫,所以新數據可能會覆蓋到舊的數據。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南投县| 简阳市| 治多县| 嘉善县| 浙江省| 金塔县| 济宁市| 万载县| 沾益县| 丁青县| 酒泉市| 长寿区| 上饶市| 铜鼓县| 高清| 温宿县| 勐海县| 湖南省| 博兴县| 晋城| 兴国县| 龙川县| 含山县| 图片| 顺平县| 长岭县| 珲春市| 四平市| 二手房| 陇南市| 乐昌市| 凤城市| 盐池县| 青州市| 竹溪县| 裕民县| 嘉义县| 嘉黎县| 永福县| 清流县| 潞城市|