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!
備份目錄中的 xtrabackup_checkpoints 檔案記錄了備份型別,開始lsn及結束lsn[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
啟動資料庫,檢視資料狀態[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...