1、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。
2、Xtrabackup下載
從下載頁面下載適用於系統的軟件包:https://www.percona.com/downloads/XtraBackup/
使用wget工具下載 percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
[root@localhost sumscope]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
--2019-11-13 13:30:17-- https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
Resolving www.percona.com (www.percona.com)... 74.121.199.234
Connecting to www.percona.com (www.percona.com)|74.121.199.234|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8518916 (8.1M) [application/x-redhat-package-manager]
Saving to: 'percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm.1'
100%[===================================================================================================================================================================================================>] 8,518,916 1.46MB/s in 12s
2019-11-13 13:30:31 (714 KB/s) - 'percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm.1' saved [8518916/8518916]
[root@localhost sumscope]#
爲了成功安裝Persona XtraBackup,libev包需要先安裝,libev包可以從epel存儲庫安裝。
[root@localhost sumscope]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
--2019-11-13 13:34:25-- https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Resolving dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.23, 209.132.181.24, 209.132.181.25
Connecting to dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.23|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14540 (14K) [application/x-rpm]
Saving to: 'epel-release-latest-6.noarch.rpm.1'
100%[===================================================================================================================================================================================================>] 14,540 --.-K/s in 0.08s
2019-11-13 13:34:26 (180 KB/s) - 'epel-release-latest-6.noarch.rpm.1' saved [14540/14540]
[root@localhost sumscope]#
3、Xtrabackup 安裝
如果在安裝時,無法連接到對應的鏡像網站,或者說主機是沒有聯網的,那麼可以修改如下配置文件/etc/yum.repos.d/epel.repo:
將:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
修改爲:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
然後:
[root@localhost sumscope]# yum localinstall epel-release-latest-6.noarch.rpm
[root@localhost sumscope]# yum localinstall percona-xtrabackup-24-2.4.12-1.el6.x86_64.rpm
[root@localhost sumscope]#
安裝檢測是否安裝成功:
[root@localhost sumscope]# innobackupex --help
[root@localhost sumscope]#
4、 innobackupex一些關鍵參數做介紹:
--defaults-file #指定MySQL配置文件 ,如果不指定–defaults-file,默認值爲/etc/my.cnf
--user=root #備份操作用戶名,一般都是root用戶
/mnt/backup/ #備份路徑
--socket=/tmp/mysql.sock #指定mysql.sock登錄(可通過innobackupex --help查看)
--parallel=2 --throttle=200 #並行個數,根據主機配置選擇合適的,默認是1個,多個可以加快備份速度。
2>/mnt/backup/bak.log #備份日誌,將備份過程中的輸出信息重定向到bak.log
--apply-log #在備份目錄下生成一個xtrabackup_logfile事務日誌文件, 此外,創建新的事務日誌。 InnoDB配置從文件“backup-my.cnf”中讀取。
--redo-only #全備數據後對DB有增量更改,則必須執行此操作,在準備基本完全備份和合併除最後一個之外的所有增量備份時,應使用此選項