使用第三方工具來備份MySQL-----percona
成都創新互聯主要從事成都網站制作、做網站、外貿營銷網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務慈溪,10多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792
一、前期準備工作:
1、安裝依賴包:yum -y install perl-Digest-MD5 perl-DBD-MySQL
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
2、安裝主包: percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
percona是一款在線熱備工具
3、包含兩個組件:
/usr/bin/xtrabackup :支持innodb和xtraDB(增量備份)
/usr/bin/innobackupex :支持innodb和myisam(只支持全備,不支持增量)
4、innobackupex 包含的一些選項
--user 用戶名
--password 密碼
--databases 庫名
--no-timestamp 不使用系統日期做備份目錄的子目錄名
--apply-log 恢復日志
--copy-back 恢復數據
二、完全備份和完全恢復
1、完全備份
innobackupex --user root --password 123456 --database="mysql db66 performance sys"
--no-timestamp /allbak //指定備份三個數據庫,生成的備份文件目錄不用系統時間做目錄名
2、恢復數據時,數據庫目錄為空,三個系統庫必須備份進去
首先恢復日志:innobackupex --user root --password 123456 --apply-log /allbak
刪除數據庫目錄: rm -rf /var/lib/mysql
創建數據庫目錄: mkdir /var/lib/mysql
恢復數據:innobackupex --user root --password 123456 --copy-back /allbak/
賦予數據目錄權限:chown -R mysql:mysql /var/lib/mysql
重啟服務,驗證:systemctl restart mysqld
三、增量備份和增量恢復
1、在增量備份之前先做一次完全備份。
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--no-timestamp /onebak
2、第一次增量備份
innobackupex --user root --password 123456 //指定用戶名密碼
--databases="performance_schema sys mysql db666" //指定需要備份的數據庫
--incremental /new1 //指定增量備份的路徑
--incremental-basedir=/onebak //指定以哪個備份來做為增量備份的參考
--no-timestamp
3、第二次增量備份:
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--incremental /new2 //第二次增量備份的路徑
--incremental-basedir=/new1 //以上次增量備份做為參考來做增量備份
--no-timestamp
4、增量恢復的文件目錄說明
xtrabackup_checkpoints xtrabackup_logfile //這兩個文件記錄修改的lsn號
5、恢復步驟
A、刪除數據目錄下的文件:rm -rf /var/lib/mysql/*
B、恢復日志---完全備份的日志
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--apply-log --redo-only //恢復日志,并合并日志
/onebak --no-timestamp
C、恢復第一次增量的備份(只需要恢復日志,日志合并即可)
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--apply-log --redo-only /onebak //源日志路徑
--incremental-dir=/new1 --no-timestamp //需合并的日志文件的路徑
D、恢復第二次增量的備份
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--apply-log --redo-only /onebak //源日志文件的路徑
--incremental-dir=/new2 --no-timestamp //第二次增量備份合并的日志
E、恢復數據,只需還原全備份里面的,因為增量備份的內容已經合并到全備里面
innobackupex --user root --password 123456 --copy-back /onebak
F、給數據目錄給權限,重啟服務驗證
chown -R mysql:mysql /var/lib/mysql
systemctl restart mysqld
四、恢復完全備份數據中的單張表
1、export //導出表信息 import //導入表空間
刪除表空間:alter table 表 discard tablespace;
2、備份單個數據庫:
innobackupex --user root --password 123456
--databases="mydb" --no-timestamp /mydb //只備份一個數據庫
3、刪除表,創建表(表字段必須要和以前的一樣,模擬表丟失
drop table t1; create table t1(id int);
4、導出表信息:用到的參數是--export
innobackupex --user root --password 123456 --databases="db66" --apply-log --export /db66
5、刪除表空間:在mysql命令行里操作
alter table db66.t1 discard tablespace;
6、把備份目錄下導出的表信息拷貝到數據庫目錄下,并給權限
cp /db66/db66/t1.{cfg,exp,ibd} /var/lib/mysql/db66/
chown mysql /var/lib/mysql/db66/t1.*
7、導入表空間
alter table db66.t1 import tablespace;
8、驗證:select * from db66.t1;
標題名稱:mysql系列之6--------使用第三方工具-percona來備份mysql和恢復
瀏覽路徑:http://vcdvsql.cn/article26/pegicg.html
成都網站建設公司_創新互聯,為您提供網站導航、電子商務、品牌網站設計、ChatGPT、網站排名、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯