Xtrabackup 資料備份工具使用方法

2021-09-14 02:02:17 字數 3140 閱讀 3135

xtrabackup(pxb) 工具是 percona 公司用 perl 語言開發的乙個用於 mysql 資料庫物理熱備的備份工具,支援 mysql(oracle)、percona server 和 mariadb,並且全部開源。percona-xtrabackup的工作原理是在啟動時記住日誌序列號(log sequence number == lsn),然後複製資料檔案。這一過程需要耗費時間,在資料複製過程中如果檔案正在更改,lsn將反映資料庫在不同時間點的狀態。同時,每次備份過程中perconaxtrabackup會執行乙個後台程序,監視事務日誌檔案,並從中複製更改。perconaxtrabackup自資料檔案開始執行以來,每次更改都需要事務日誌記錄。

xtrabackup預設資料儲存目錄為 /var/lib/mysql,預設讀取"/etc/my.cnf、/etc/mysql/my.cnf 、/usr/etc/my.cnf 、~/.my.cnf"的資料庫配置,可以通過 --variable-name=value 修改預設配置

資料備份

指定資料目錄為/var/lib/lims_mysql,備份資料儲存目錄為/home/example/backup/full/

[example@mail ~]$ sudo xtrabackup -uexample -h172.17.42.1 -p --backup --datadir=/var/lib/lims_mysql/ --target-dir=/home/example/backup/full/
資料備份成功後會出現"completed ok!"提示,資訊記錄了 lsn為3505793

190329 14:30:28 [00] writing /home/example/backup/full/xtrabackup_info

190329 14:30:28 [00] ...done

xtrabackup: transaction log of lsn (3505793) to (3505793) was copied.

190329 14:30:28 completed ok!

全量備份檔案中檔案列表如下:

[example@mail ~/backup/full]$ ls -al

-rw-r----- 1 root root 432 mar 29 14:30 backup-my.cnf

drwxr-x--- 2 root root 4096 mar 29 14:30 eq_stat

-rw-r----- 1 root root 79691776 mar 29 14:30 ibdata1

drwxr-x--- 2 root root 16384 mar 29 14:30 lims2_ali_test

drwxr-x--- 2 root root 4096 mar 29 14:30 mysql

drwxr-x--- 2 root root 4096 mar 29 14:30 performance_schema

drwxr-x--- 2 root root 4096 mar 29 14:30 sj_tri

drwxr-x--- 2 root root 4096 mar 29 14:30 unpc

-rw-r----- 1 root root 32 mar 29 14:30 xtrabackup_binlog_info

-rw-r----- 1 root root 113 mar 29 14:30 xtrabackup_checkpoints

-rw-r----- 1 root root 587 mar 29 14:30 xtrabackup_info

-rw-r----- 1 root root 2560 mar 29 14:30 xtrabackup_logfile

​ 備份目錄中的 xtrabackup_checkpoints 檔案記錄了備份型別,開始lsn及結束lsn

[example@mail ~/backup/full]$ sudo cat xtrabackup_checkpoints

backup_type = full-backuped

from_lsn = 0

to_lsn = 3505793

last_lsn = 3505793

compact = 0

recover_binlog_info = 0

​ 啟動資料庫,檢視資料狀態

​ 增量資料備份01

[example@mail ~]$ sudo xtrabackup -uexample -h172.17.42.1 -p --backup --datadir=/var/lib/lims_mysql/ --target-dir=/home/example/backup/incre_backup/01/ --incremental-basedir=/home/example/backup/full_backup/

...190329 15:44:34 [00]

...done

xtrabackup: transaction log of lsn (3523623) to (30338852) was copied.

190329 15:44:34 completed ok!

```​ 增量備份資料02

```shell

sudo xtrabackup -uexample -h172.17.42.1 -p --backup --datadir=/var/lib/lims_mysql/ --target-dir=/home/example/backup/incre_backup/02/ --incremental-basedir=/home/example/backup/incre_backup/01/

...190329 16:04:34 [00]

...done

xtrabackup: transaction log of lsn (30338852) to (30347862) was copied.

190329 16:04:34 completed ok!

​ 按照全量資料恢復步驟恢復即可

pdf文件1 提取碼:y9rx

官網位址-xtrabackup

innobackupex(2.2版本已移除)

xtrabackup 資料庫備份

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

xtrabackup備份說明

通過最簡單的備份事例,說明備份所包含的內容等資訊 xtrabackup backup target dir tmp backup指定用於備份,預設全備 target dir指定備份檔案目錄 生成備份目錄xtrabackup backupfiles cd xtrabackup backupfiles ...

xtrabackup 備份問題

個人認為percona 對mysql最大的貢獻就是它提供了mysql 的熱備份工具xtrabackup.對於v2版本中有乙個問題是 從備份檔案中恢復資料時,對於備份前新建立的表,是無法完全利用工具恢復.frm 式檔案。不過這並不影響使用 貌似網上有人已經做了修改 由於我們預設的儲存引擎是innodb...