XtraBackup備份工具(percona)
阿新 • • 發佈:2019-01-04
XtraBackup工具
專業組織Percona提供的一款線上熱備份工具,備份過程中不鎖表,適合生產環境
元件
xtrabackup : C程式,支援InnoDB,XtraDB
innobackupex :用perl指令碼封裝的xtrabackup,除了支援InnoDB 還支援MyISAM
安裝percona
[[email protected] ~]#rpm -ivh ibev-4.15-1.el6.rf.x86_64.rpm
[[email protected] ~]#yum -y install perl-DBD-MySQL perl-Digest-MD5-2.52-3.el7.x86_64
[ [email protected] ~]#percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
[[email protected] ~]#man innobackupex //檢視man幫助
基本選項
選項 | 含義 |
---|---|
--host | 主機名 |
--user | 使用者名稱 |
--port | 埠號 |
--password | 密碼 |
--databases | 資料庫名 --databases={“庫名” 單個庫 “庫1 庫2” 多個庫 “庫.表”單個表} |
--no-timestamp | 不用日期命名備份檔案儲存的子目錄名 |
--incremental 目錄名 | 增量備份 |
--incremental-basedir=目錄名 | 增量備份時,指定上次備份資料儲存的目錄名 |
--incremental-dir=目錄名 |
恢復資料時,指定增量備份資料儲存的目錄名 |
--redo-only | 日誌合併 |
--apply-log | 準備還原(日誌回滾) |
--copy-back | 恢復資料 |
--export | 匯出表資訊 |
import | 匯入表空間 |
完全備份與恢復
[[email protected] ~]#innobackupex --user=root --password=123456 --no-timestamp /allback
//備份資料庫所有檔案,注意,備份資料夾不能有東西,必須為空
[[email protected] ~]#innobackupex --user=root --password=123456 --apply-log /allback
//準備恢復資料 不過完全備份這步可以省略
[[email protected] ~]#rm -rf /var/lib/mysql //恢復時要求空的目錄
[[email protected] ~]#innobackupex --user=root --password=123456 --copy-back /allback
//恢復資料
[[email protected] ~]#chown -R mysql:mysql /var/lib/mysql //修改許可權為mysql,否則重啟報錯
[[email protected] ~]#systemctl restart mysqld //重啟
[[email protected] ~]#mysql -uroot -p123456
mysql>show databases;
增量備份與恢復
增量備份:
[[email protected] ~]#innobackupex --user=root --password=123456 /fullback --no-timestamp
[[email protected] ~]#innobackupex --user=root --password=123456 --incremental /new1dir --incremental-basedir=/fullback --no-timestamp
[[email protected] ~]#innobackupex --user=root --password=123456 --incremental /new2dir --incremental-basedir=/new1dir --no-timestamp
...
//增量備份時,必須現有一次備份,一般為完全備份
增量恢復:
- 準備恢復資料
[[email protected] ~]#systemctl stop mysqld [[email protected] ~]#rm -rf /var/libmysql [[email protected] ~]#innobackupex --apply-log --redo-only /fullback //完整恢復
- 合併日誌
- 拷貝備份資料到資料庫目錄下
- 修改所有使用者為mysql
- 啟動資料庫服務
- 檢視資料