MySQL第三方備份工具xtrabackup使用
環境:centos6.5 64位
Percona
工具套件
Xtrabackup的優點:
支援對innodb進行熱備份
對mysql做增量備份
線上表遷移
建立mysql replication更加容易
備份不增加伺服器的負載
安裝依賴:
yum install libnuma*
yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL
yum install libnuma*
wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.3-1.el6.x86_64.rpm
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
全備
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/test/
執行2次 prepare 同步innodb的日誌檔案
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --target-dir=/data/backup/
可以加--use-memory 設定命令所需要的快取 加快備份
增量備份:
體現增量備份 先建立三個目錄
mkdir -p {1,3,5}
對資料庫做全備 存放在1目錄
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/1/
向測試表插入資料
insert into t1 values(5,'xingqier',0);
對資料庫做增量備份,以1目錄做為對比,將資料存放3目錄
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/3/ --incremental-basedir=/data/1/
同步二步驟
insert into t1 values(5,'xingqier',0);
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --backup --target-dir=/data/5/ --incremental-basedir=/data/3/
恢復增量備份
使用--apply-log-only引數
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --apply-log-only --target-dir=/data/1/
追加3的備份
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --apply-log-only --target-dir=/data/1/ --incremental-dir=/data/3/
追加5的備份
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --apply-log-only --target-dir=/data/1/ --incremental-dir=/data/5/
合併後的結果執行prepare,得到最終備份
xtrabackup --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --prepare --target-dir=/data/1/