Mysql增量備份
Xtrabackup中包含兩個工具:
• xtrabackup - 用於熱備份innodb, xtradb表的工具,不能備份其餘表(MYISAM表)。
• innobackupex - 對xtrabackup封裝的perl腳本,提供了myisam表備份的能力。(能進行整庫和數據表備份)。
*注:備份恢復以前請作好全庫備份
安裝Xtrabackup
官網網址http://www.percona.com/doc/percona-xtrabackup/index.html
安裝
配置文件中須要添加 datadir = /usr/local/mysql/datadir //MYSQL數據文件目錄
一、自動安裝 YUM 源後,用YUM安裝
yum install -y gnupg
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
yum install -y percona-xtrabackup
二、手動寫入YUM源
新建文件 /etc/yum.repos.d/Percona.repo
[percona]
name = CentOS $releasever - Percona
baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/
enabled = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-percona
gpgcheck = 1
以後YUM安裝 ,安裝後可執行xtrabackup -v 查看
以後能夠用xtrabackup 備份html
1、innobackupex 備份全庫
備份主程序爲 /usr/bin/innobackupex-1.5.1,其須要從 mysql 配置文件中讀取相關信息,Mysql缺省配置文件 my.cnf 中未配置 datadir 選項,必須顯性添加,不然備份程序會報錯:mysql
innobackupex:: Warning: Ignored unrecognized line 2 in options : 'xtrabackup: Error: Please set parameter 'datadir'
在論壇Mysql 配置文件 /etc/my.cnf 配置文件添加 datadir 內容:sql
在[mysqld]段加入
datadir = /usr/local/mysql/var
一、備份
#/usr/bin/innobackupex-1.5.1 --user=root --password=password --defaults-file=/etc/my.cnf /usr/local/bbsBackup
二、恢復
#/usr/bin/innobackupex-1.5.1 --apply-log /usr/local/bbsBackup/2011-09-26_02-00-01/
#/usr/bin/innobackupex-1.5.1 --copy-back /usr/local/bbsBackup/2011-09-26_02-00-01/
#chown -R mysql:mysql /usr/local/mysql/
#/etc/init.d/mysqld start
2、全量備份及恢復
備份
注:使用xtrabackup,僅限InnoDB和xtradb表,且注意mysql配置文件my.cnf中需設置「default_table_type = InnoDB」不然不成功
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/usr/local/bbsBackup/base/
恢復時執行兩次:
一、
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/usr/local/bbsBackup/base
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/usr/local/bbsBackup/base
二、
//將數據庫停掉
#/etc/init.d/mysqld stop
//刪除數據庫目錄下的ib(ib開頭的全部)文件。
#rm /usr/local/mysql/var/ib
//將/usr/local/bbsBackup/base目錄下的ib文件拷貝到數據庫目錄。
#cd /usr/local/mysql/var/
#cp /usr/local/bbsBackup/base/ib ./
三、設置權限:
#chown mysql:mysql ib*
重啓數據庫後測試,是否成功。數據庫
3、增量備份及恢復
注:作增量前固然要先進行全量備份,在全量的基礎上來進行增量。
首先進行全量備份。
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/usr/local/bbsBackup/base/
在全量備份的基礎上進行增量。
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/usr/local/bbsBackup/1 --incremental-basedir=/usr/local/bbsBackup/base/
注:/usr/local/bbsBackup/1是每次都需修改的。好比第二次增量就改爲/usr/local/bbsBackup/2增量恢復。(步驟同全量恢復,只是在執行恢復命令的時候中間多一步)
一、
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/usr/local/bbsBackup/base
#/usr/bin/xtrabackup --target-dir=/usr/local/bbsBackup/base --prepare --incremental-dir=/usr/local/bbsBackup/1
#/usr/bin/xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/usr/local/bbsBackup/base
二、
//將數據庫停掉
#/etc/init.d/mysqld stop
//刪除數據庫目錄下的ib(ib開頭的全部)文件。
#rm /usr/local/mysql/var/ib
//將/usr/local/bbsBackup/base目錄下的ib文件拷貝到數據庫目錄。
#cd /usr/local/mysql/var/
#cp /usr/local/bbsBackup/base/ib ./
三、設置權限:
#chown mysql:mysql ib*
重啓數據庫後測試,是否成功。centos