溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mariadb數(shù)據(jù)庫 xtrabackup 備份工具

發(fā)布時間:2020-07-22 04:13:49 來源:網(wǎng)絡 閱讀:328 作者:C_H_2018 欄目:MySQL數(shù)據(jù)庫

XtraBackup備份工具
三步驟

1.安裝XtraBackup軟件包。
2.使用XtraBackup執(zhí)行完整備份、增量備份。
3.準備數(shù)據(jù)恢復目錄。

需要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="系統(tǒng)庫列表 存儲數(shù)據(jù)庫" 備份目錄名 --no-timestamp
恢復數(shù)據(jù)時候需要目錄為空 目錄不需要創(chuàng)建
Mysql Sys Performance_schema 這三個是必須要備份的,當然咯還有你的其他數(shù)據(jù)
假如備份一個目錄名為 /allbak
那么在此目錄下有兩種文件
配置信息 和備份的數(shù)據(jù)
以下列出需理解的文件:
#xtrabackup_binlog_info 備份信息(完全備份)
#xtrabackup_checkpoints 日志序列號范圍
#xtrabackup_logfile 對應sql命令
#Ibdata1 sql 產(chǎn)生的數(shù)據(jù)大小信息
#backup-my.cnf ..page_size 可調大 在生產(chǎn)環(huán)境中可以調節(jié)此大小進行優(yōu)化

(只有INNODB 支持增量備份(支持事物回滾)
cd /var/lib/mysql # ib_logfile0(sql命令) ib_logfile1

LSN(日志序列號))

完全恢復數(shù)據(jù)
先恢復日志再恢復數(shù)據(jù)
rm -rf /var/lib/mysql (恢復數(shù)據(jù)時候需要目錄為空 目錄不需要創(chuàng)建)
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 #已經(jīng)恢復過
############################
--incremental 目錄名
--incremental-basedir=目錄名
增量備份 (切記?。?!先有一次完全備份再增量備份)
innobackupex --user root --password 123456 --databases="系統(tǒng)庫列表 儲存數(shù)據(jù)庫" --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="系統(tǒng)庫列表 存儲數(shù)據(jù)庫" --apply-log --redo-only /allbak(恢復完全)

#innobackupex --user root --password abc123 --databases="系統(tǒng)庫列表 存儲數(shù)據(jù)庫" --apply-log --redo-only /allbak --incremental-dir=目錄(恢復增量)

#innobackupex --user root --password abc123 --databases="系統(tǒng)庫列表 存儲數(shù)據(jù)庫" --apply-log --redo-log /allbak --incremental-dir=目錄(恢復增量)

cat /allbak/Xtraback_checkpositions
lsn(記錄所有日志恢復的范圍)
2.恢復數(shù)據(jù)
#innobackupex --user root --password abc123 --databases="系統(tǒng)庫列表 存儲數(shù)據(jù)庫" --copy-back 完全備份目錄名
#chown -R mysql:mysql /var/lib/mysql 記得加權限不然啟動不了服務
3.重啟服務
systemctl restart mysqld

#############
新手勿噴

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI