標籤:mysql-zrm、資料備份恢複、mysql、全備+增備策略
本博文聲明,特別適合初次應用此工具的小白使用,原因看完就明白,OK,開始吧!
1、前期準備:
因為mysql-zrm這個備份工具是用perl語言寫成的工具,所有要先安裝一些軟體包,來為mysql-zrm工具提供必要的環境
yum install perl-DBI perl-DBD-MySQL perl-XML-Parser -y
PS:(網上好多人云亦云,要不就是複製、轉載別人的,不需要那麼複雜,只需要安裝這3個包即可)
2、建立備份使用者
mysql> grant select,insert,update,create,drop,reload,alter,super,lock tables on *.* to ‘backup‘@‘localhost‘ identified by ‘backup‘;
mysql> flush privileges;
3、為每個資料庫設定單獨的存放目錄,這樣方便管理和恢複資料(本例有三個資料庫)
cd /etc/mysql-zrm
mkdir {,_1,_2}
cp mysql-zrm.conf test
cp mysql-zrm.conf test_1
cp mysql-zrm.conf test_2
4、在/etc/mysql-zrm/test、test_1、test_2目錄下分別修改mysql-zrm.conf設定檔:設定包括但不限於: 備份使用者名稱、密碼、備份層級等參數
backup-level=0 #備份層級,0表示全備,1表示增備 ,也可以在命令列中指定
backup-mode=logical #備份方式,邏輯備份
destination=/common #備份資料存放目錄,預設/var/lib/mysql-zrm/目錄
retention-policy=30D #備份檔案存放時間,30天
compress=1 #備份壓縮,gzip方式
verbose=1 #記錄詳細資料
database="test" #需要備份的資料庫,分別在test、test_1、test_2目錄下修改對應的
database="test_1"
database="test_2"
user="backup"
password="backup"
port=3306
socket=/var/lib/mysql/mysql.sock
<?xml:namespace prefix="o">
?xml:namespace>
PS:如果你需要備份所有的資料庫,僅僅需要在/etc/mysql-zrm/mysql-zrm.conf設定檔中需改參數all-databases=1即可
5、好了,配置好了,可以進行備份了!
先進行一次全備:
[[email protected] mysql-zrm]#mysql-zrm-scheduler --now --backup-set test
ls /common/test/20170407091226 (這個是我的備份檔案存放目錄)
backup.sql index zrm_checksum
backup-data:備份的資料檔案
index:備份資訊,包括備份層級,備份的資料庫名稱等
zrm_checksum: 備份檔案存放目錄,和備份檔案的檢驗和,以此來實現增備的基礎
注意我紅色加粗的部分了嗎?這個備份是有規定的!!必須在/etc/mysql-zrm/目錄下進行(網上好多不寫明目錄,導致切出該目錄怎麼也備份不了。。。。都是眼淚啊!
/usr/bin/mysql-zrm started successfully 成功的備份資訊
再進行一次增量備份:
[[email protected] mysql-zrm]#mysql-zrm-scheduler --now --backup-level=1 --backup-set test
index mysql.000163 zrm_checksum
沒錯就是備份binlog日誌來實現增備的,所以你要開啟你的binlog。。
6、查看備份的資料資訊:
mysql-zrm-reporter --show restore-info where backup-set=test 主要指明你的備份目錄
mysql-zrm-reporter --show backup-performance-info where backup-set xin 主要指明備份檔案大小、備份時間、是否壓縮等
7、OK,備份成功了,再測試一下如何來恢複你的資料:(全備和增備唯一的區別就是備份的恢複目錄別寫錯了)
[[email protected] common]# mysql-zrm --action restore --source=/common/test/20170407091226/ --backup-set test --verbose
PS:common目錄是你的備份資料存放目錄
好了,現在已經整完了整個流程,你的備份實現了吧,當然了,因為每個人的機器原來的環境不一致,如果你備份的時候,出現了什麼問題,歡迎寫留言,這也是促進我自身的一種方式!
本文出自 “You're the best” 部落格,謝絕轉載!
mysql-zrm備份工具實現全備+增備策略