您好,登錄后才能下訂單哦!
XtraBackup備份工具
三步驟
1.安裝XtraBackup軟件包。
2.使用XtraBackup執行完整備份、增量備份。
3.準備數據恢復目錄。
需要yum -y install perl-DBD-MySQL perl-Digest-MD5 和
libev-4.15-1.el6.rf.x86_64.rpm這三個包
如果未安裝這些依賴包,則直接安裝percona-xtrabackup時會報錯
前兩個包可以用以下命令篩選
yum list |grep perl | grep -i -E 'dbd|digest'
1.安裝
yum -y install perl-DBD-MySQL perl-Digest-MD5
rpm –ivh libev-4.15-1.el6.rf.x86_64.rpm
2.完整備份
#innobackupex --user root --password 密碼 --databases="系統庫列表 存儲數據庫" 備份目錄名 --no-timestamp
恢復數據時候需要目錄為空 目錄不需要創建
Mysql Sys Performance_schema 這三個是必須要備份的,當然咯還有你的其他數據
假如備份一個目錄名為 /allbak
那么在此目錄下有兩種文件
配置信息 和備份的數據
以下列出需理解的文件:
#xtrabackup_binlog_info 備份信息(完全備份)
#xtrabackup_checkpoints 日志序列號范圍
#xtrabackup_logfile 對應sql命令
#Ibdata1 sql 產生的數據大小信息
#backup-my.cnf ..page_size 可調大 在生產環境中可以調節此大小進行優化
(只有INNODB 支持增量備份(支持事物回滾)
cd /var/lib/mysql # ib_logfile0(sql命令) ib_logfile1
完全恢復數據
先恢復日志再恢復數據
rm -rf /var/lib/mysql (恢復數據時候需要目錄為空 目錄不需要創建)
mkdir /var/lib/mysql
innobackupex --user root --password 123456 --databases="mysql sys performance_schema " --apply-log /allbak #沒寫庫就全部備份
ls /var/lib/mysql
innobackupex --user root --password 123456 --databases="mysql sys performance_schema " --copy-back /allbak
ls /var/lib/mysql
ls /var/lib/mysql -ld
chown -R mysql:mysql /var/lib/mysql
ls -l /var/lib/mysql
systemctl restart mysqld
cat /allbak/xtrabackup_checkpoints #查看一下備份類型
backup_type = full-prepared #已經恢復過
############################
--incremental 目錄名
--incremental-basedir=目錄名
增量備份 (切記!!!先有一次完全備份再增量備份)
innobackupex --user root --password 123456 --databases="系統庫列表 儲存數據庫" --incremental 目錄名(當前) --incremental-basedir=目錄名(上一次備份) --no-timestamp
innobackupex --user root --password 123456
--databases="mysql sys performance_schema " --incremental /new1 --incremental-basedir=/allbak --no-timestamp
查看一下兩次備份的序列號
cat /allbak/xtrabackup_checkpoints
to_lsn = 2536507
.....
Cat /new1/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 2536507
to_lsn = 25371201
........
###############################
--incremental-dir=目錄名
增量恢復
1.恢復日志文件
#innobackupex --user root --password abc123 --databases="系統庫列表 存儲數據庫" --apply-log --redo-only /allbak(恢復完全)
#innobackupex --user root --password abc123 --databases="系統庫列表 存儲數據庫" --apply-log --redo-only /allbak --incremental-dir=目錄(恢復增量)
#innobackupex --user root --password abc123 --databases="系統庫列表 存儲數據庫" --apply-log --redo-log /allbak --incremental-dir=目錄(恢復增量)
cat /allbak/Xtraback_checkpositions
lsn(記錄所有日志恢復的范圍)
2.恢復數據
#innobackupex --user root --password abc123 --databases="系統庫列表 存儲數據庫" --copy-back 完全備份目錄名
#chown -R mysql:mysql /var/lib/mysql 記得加權限不然啟動不了服務
3.重啟服務
systemctl restart mysqld
#############
新手勿噴
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。