1. 程式人生 > >MySQL第三方備份工具xtrabackup使用

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/