xtrabackup資料庫備份恢復測試

2021-08-20 05:13:01 字數 3241 閱讀 3964

wget

解壓縮tar xzf percona-xtrabackup-2.4.11-linux-x86_64.libgcrypt145.tar.gz

mv percona-xtrabackup-2.4.11-linux-x86_64 /usr/local/xtrabackup

vi /etc/profile

增加export path=$path:/usr/local/xtrabackup/bin

source /etc/profile

或者 echo "export path=$path:/usr/local/xtrabackup/bin" >> /etc/profile

source !$

2. 全量備份

命令格式:

innobackupex --user=dbuser --password=dbuserpass /path/to/backup-dir/

innobackupex --defaults-file=/tmp/other-my.cnf --user=dbuser --password=dbuserpass /path/to/backup-dir/

例子:innobackupex --defaults-file=/etc/my.cnf -uroot -p123456 -s /var/lib/mysql/mysql.sock /data/backup/

備份檔案路徑: /data/backup/2018-05-23_13-58-12

3.測試全量恢復

命令格式:

innobackupex --copy-back /path/to/backup-dir #恢復

庫中刪除任意表,停掉資料庫

systemctl stop mariadb

準備乙個全量備份,因為備份時資料是在不同時間備出來的,沒有乙個完整的序列。

成功後,恢復全量備份的資料

innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /data/backup/2018-05-23_14-28-04/

#--rsync一次性複製全部檔案

4.增量備份

命令格式:

#首次增量

innobackupex --incremental /data/backups --incremental-basedir=basedir

#第二次增量

innobackupex --incremental /data/backups --incremental-basedir=incremental-dir-1

第一次增量

innobackupex --defaults-file=/etc/my.cnf -uroot -p123456 -s /var/lib/mysql/mysql.sock --incremental /data/backup/inc --incremental-basedir=/data/backup/2018-05-23_14-53-17 --parallel=2

第二次增量

innobackupex --defaults-file=/etc/my.cnf -uroot -p123456 -s /var/lib/mysql/mysql.sock --incremental /data/backup/inc --incremental-basedir=/data/backup/inc/2018-05-23_15-04-04 --parallel=2

#--incremental-basedir 基於哪次備份做增量

5.增量備份的恢復

命令格式:

step1:

step2:

step3:

step4:

step5:

innobackupex --copy-back base-dir

prepare乙份全量備份

#redo-only 最後乙份增量不用加這個引數,具體意義待確認

應用第乙份增量到全量備份檔案

應用第二份增量到全量檔案(這裡是最後乙份了,不加redo-only)

重新prepare一次全量備份檔案

#清空mysql的資料儲存路徑

恢復備份

innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /data/backup/2018-05-23_14-53-17/

修改資料資料夾許可權

chown -r mysql.mysql /var/lib/mysql

chmod 755 -r /var/lib/mysql

systemctl start mariadb

登入資料庫檢視,資料已經恢復。

注:在最新版本中,

the 

innobackupex

program is a symlink to the 

xtrabackup c

program.且innobackupex在未來版本中全被棄用.

xtrabackup命令使用

1.全備命令

xtrabackup -uroot -p123456 -s /var/lib/mysql/mysql.sock --backup --target-dir=/data/xbak

2. 全備恢復

xtrabackup --prepare --target-dir=/data/xbak

xtrabackup --copy-back --target-dir=/data/backups/

3.增量備

xtrabackup --backup --target-dir=/data/backups/base

xtrabackup --backup --target-dir=/data/backups/inc1 \--incremental-basedir=/data/backups/base

xtrabackup --backup --target-dir=/data/backups/inc2 \--incremental-basedir=/data/backups/inc1

4.增量恢復

xtrabackup --prepare --target-dir=/data/backups/base \--incremental-dir=/data/backups/inc2

xtrabackup --prepare --target-dir=/data/backups/base

xtrabackup --copy-back --target-dir=/data/backups/base

xtrabackup 資料庫備份

percona xtrabackup是一款基於mysql的熱備份的開源實用程式,它可以備份5.1到5.7版本上innodb,xtradb,myisam儲存引擎的表,xtrabackup有兩個主要的工具 xtrabackup innobackupex 1 xtrabackup只能備份innodb和xt...

xtrabackup備份mysql資料庫

xtrabackup備份mysql資料庫 1.安裝依賴包 perl dbd mysql需要mysql libs 5.1.73包,如果此包和現有mysql server衝突,需要單獨用rpm force強制安裝此包 2.安裝xtrabackup rpm ivh percona xtrabackup 2...

資料庫備份與恢復 XtraBackup

使用xtrabackup工具安裝percona rpm ivh libev 4.15 1.el6.rf.x86 64.rpm yum y install percona xtrabackup 24 2.4.7 1.el7.x86 64.rpm 命令幫助 innobackupex help 常用選項 ...