MySQL的熱備份開源工具XtraBackup

首先代表所有使用者,感謝PERCONA的無私貢獻,今天簡單介紹一下 MySQL 免費熱備工具 XtraBackup , 特別是幾個使用時值得注意的地方。
1. 下載XtraBackup並安裝
當前最新的版本是1.6 ,從這裏可以選擇不同OS的相應版本:
http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6/
在LINUX下你可以直接運行:
wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-1.6/RPM/rhel5/x86_64/xtrabackup-1.6-245.rhel5.x86_64.rpm
rpm -ivh xtrabackup-1.6-245.rhel5.x86_64.rpm
2. 數據庫中建立備份賬號
GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ‘username’@'localhost’ IDENTIFIED BY ‘password’;
這個帳戶主要是用來完成備份時一些鎖表等工作;
3. 全量備份與恢復
一般庫不大(< 200G),我們就選擇用全量備份 ;
innobackupex-1.5.1 工具是用PERL包裝過的”xtrabackup“,他不旦可以備份INNODB,還可以備份MYISAM等非事務數據庫;
3.1 全量備份
# 指定mysql配置文件路徑
mycnf=/etc/my.cnf
#指定備份根目錄
backup_path=/data/mysqlbackup
# 開始備份
innobackupex-1.5.1 –user=username –password=password –host=127.0.0.1 –port=3306 –slave-info –tmpdir=$backup_path –defaults-file=$mycnf $backup_path 2> $backup_path/xtrabk.log
### 注意點:
在備份過程中,把INNODB數據文件備份完成後,會鎖住整個庫,並開始複製MYISAM等非事務引擎的數據和.frm;
所以如果你擁有比較多的MYISAM表,鎖庫的時候會持續很長。如果是在主庫上運行,千萬注意。
3.2 全量恢復
3.2.1 應用日誌
## 這個過程主要是產生REDOLOG並將備份期間產生的REDO應用到數據文件中;
## xtrabackup 會啓動一個INNODB進程去做,與你當前在跑的不衝突
innobackupex-1.5.1 –apply-log /data/mysqlbackup/
3.2.2 複製數據文件到數據目錄
## 這個過程將恢復好的數據複製到my.cnf中指定的數據目錄中。 這時你需要把原有的實例停掉
innobackupex-1.5.1 –copy-back /data/mysqlbackup/
4. 增量備份
增量備份我們只能使用xtrabackup工具;
1)只能用於INNODB
2)my.cnf文件[mysqld]中需要設置 default_table_type=InnoDB
4.1 全量備份(參考 3.1)
4.2 增量備份 (只複製變化過的塊)
#指定備份根目錄
backup_path=/data/mysqlbackup/2011-06-02_19-05-46/
#指定備份根目錄
incre_path=/data/mysqlbackup/incre001
#開始備份
xtrabackup –defaults-file=/etc/my.cnf –backup –target-dir=$incre_path –incremental-basedir=$backup_path
在/data/mysqlbackup/incre001將產生一些.delta數據文件;
另外可以注意xtrabackup_checkpoints這個文件lsn的變化
4.3 恢復 (先恢復全量備份的日誌)
## 用增量備份加入全量數據
xtrabackup –defaults-file=/etc/my.cnf –prepare –target-dir=/data/mysqlbackup/2011-06-02_19-05-46/
xtrabackup –target-dir=/data/mysqlbackup/2011-06-02_19-05-46/ –prepare –incremental-dir=/data/mysqlbackup/incre001
## 應用日誌
xtrabackup –defaults-file=/etc/my.cnf –prepare –target-dir=/data/mysqlbackup/2011-06-02_19-05-46/
最後還是大家動手試試;
 
推薦關聯性技術文章:
MySQL存儲引擎:MyISAM數據自動備份還原方案
xtrabackup導致MYSQL HANG起
轉載自: http://www.mysqlops.com/2011/06/02/mysql-hot-xtrabackup.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章