Percona Xtrabackup備份mysql大資料庫(完整備份與增量備份)

來源:互聯網
上載者:User

標籤:http   os   io   使用   strong   ar   檔案   資料   div   

Percona Xtrabackup備份mysql大資料庫(完整備份與增量備份)  文章目錄[隱藏]
  • Xtrabackup簡介
  • Xtrabackup安裝
  • Xtrabackup工具介紹
  • innobackupex使用方法
    • 完整備份及還原
    • 增量備份及還原
Xtrabackup簡介

Percona XtraBackup是開源免費的MySQL資料庫熱備份軟體,它能對InnoDB和XtraDB儲存引擎的資料庫非阻塞地備份(對於MyISAM的備份同樣需要加表鎖)。XtraBackup支援所有的Percona Server、MySQL、MariaDB和Drizzle。

XtraBackup優勢 :
1、無需停止資料庫進行InnoDB熱備
2、增量備份MySQL
3、流壓縮到傳輸到其它伺服器
4、能比較容易地建立主從同步
5、備份MySQL時不會增大伺服器負載

Xtrabackup安裝

這裡只介紹Ubuntu-12.04下的安裝方法,其它系統的安裝方法請參考http://www.percona.com/doc/percona-xtrabackup/2.1/installation.html

  1. apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

在/etc/apt/sources.list加入:

  1. deb http://repo.percona.com/apt precise main
  2. deb-src http://repo.percona.com/apt precise main

執行update及安裝操作

  1. apt-get update
  2. apt-get install percona-xtrabackup

註:precise是Ubuntu-12.04的版本代號,如果是其它系統版本,需要更換。

Xtrabackup工具介紹

安裝XtraBackup後,其實會有幾個工具:
innobackupex:
這個是其實是下面三個工具的一個perl指令碼封裝,可以備份MyISAM, InnoDB, XtraDB表。
xtrabackup:
一個由C編譯而來的二進位檔案,只能備份InnoDB和XtraDB資料。
xbcrypt:
用來加密或解密備份的資料。
xbstream:
用來解壓或壓縮xbstream格式的壓縮檔。
建議使用perl封裝的innobackupex來作Database Backup,因為比較容易使用。所以下面只介紹innobackupex的使用。其它的使用參考:http://www.percona.com/doc/percona-xtrabackup/2.1/manual.html

innobackupex使用方法

完整的選項使用請執行innobackupex --help,這裡只介紹使用常用的選項進行完整備份及增量備份和還原。

完整備份及還原

假如我們要備份centos和mysql資料庫。
備份:

  1. innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf --include="centos.*|mysql.*"    /data/mysql_backup

這樣就會在/data/mysql_backup產生一個帶時間的目錄,如果不需要帶時間,可以使用選項--no-timestamp。
如果想備份成壓縮檔,可以使用如下語句:

  1. innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf --include="centos.*|mysql.*" --no-timestamp --stream=tar ./ | gzip - > www.centos.bz.tar.gz

還原:
假如完整備份的路徑為/data/mysql_backup/full_backup,如果完整備份是壓縮檔,需要先解壓再還原。

  1. innobackupex --apply-log  /data/mysql_backup/centos_full_backup
  2. innobackupex --copy-back --defaults-file=/etc/mysql/my.cnf /data/mysql_backup/centos_full_backup
  3. chown -R mysql:mysql /var/lib/mysql
增量備份及還原

增量備份是建立在完整備份的基礎上的,所以首先確保已經完整備份了一次。
完整備份:

  1. innobackupex --user=root --password=root --include="centos.*"  --no-timestamp /data/mysql_backup/centos_full_backup

現在完整備份的目錄為/data/mysql_backup/centos_full_backup。
增量備份:
第一次增量備份:

  1. innobackupex --incremental /data/mysql_backup/inc/20130906 --no-timestamp --incremental-basedir=/data/mysql_backup/centos_full_backup --user=root --password=root --defaults-file=/etc/mysql/my.cnf

第二次增量備份:

  1. innobackupex --incremental /data/mysql_backup/inc/20130907 --no-timestamp --incremental-basedir=/data/mysql_backup/inc/20130906 --user=root --password=root --defaults-file=/etc/mysql/my.cnf

選項--incremental是指定作增量備份 --incremental-basedir選項是指定上一次增量備份的目錄(如果是第一次作增量備份,則為完整備份的目錄)。
還原:
增量備份的還原作業跟完整的還原有點不一樣,首先必須使用--apply-log --redo-only對完整備份的目錄及所有增量備份目錄進行操作,然後就可以像還原完整備份時的操作了。
對每個備份目錄作apply-log redo-only操作(包括完整備份)

  1. innobackupex --apply-log --redo-only /data/mysql_backup/centos_full_backup  --user=root --password=root
  2. innobackupex --apply-log --redo-only /data/mysql_backup/centos_full_backup  --incremental-dir=/data/mysql_backup/inc/20130906 --user=root --password=root
  3. innobackupex --apply-log --redo-only /data/mysql_backup/centos_full_backup  --incremental-dir=/data/mysql_backup/inc/20130907 --user=root --password=root

下面就跟還原完整備份時一樣了:

  1. innobackupex-1.5.1 --apply-log /data/mysql_backup/centos_full_backup --use-memory=1G --user=root --password=root
  2. innobackupex --copy-back --defaults-file=/etc/mysql/my.cnf /data/mysql_backup/centos_full_backup
 

轉載請標明文章來源:《https://www.centos.bz/2013/09/percona-xtrabackup-mysql-backup/》

Percona Xtrabackup備份mysql大資料庫(完整備份與增量備份)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.