中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

mysql備份工具innobackupex遷移恢復(fù)數(shù)據(jù)

適用場(chǎng)景:

數(shù)據(jù)量比較大,通常以G計(jì)算,常規(guī)sql導(dǎo)入導(dǎo)出數(shù)據(jù)龐大容易出錯(cuò)。要將其他地方的mysql遷移到我司彈性云服務(wù)器,這時(shí)候就可以考慮使用innobackupex來備份遷移。

先決條件:

linux系統(tǒng)服務(wù)器,原數(shù)據(jù)庫服務(wù)器支持ssh登陸,擁有控制管理權(quán)限。原數(shù)據(jù)庫服務(wù)器和現(xiàn)在服務(wù)器都需要安裝innobackupex。

注意:

以下示例來源于網(wǎng)上,路徑均為示例,具體以實(shí)際路徑為準(zhǔn),請(qǐng)充分了解并有相關(guān)備份再操作。


安裝:

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.21/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL  #安裝依賴包
rpm -ivh percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm --nodeps --force


innobackupex常用選項(xiàng):  

   --host     指定主機(jī)

   --user     指定用戶名

   --password    指定密碼

   --port     指定端口

   --databases     指定數(shù)據(jù)庫

   --incremental    創(chuàng)建增量備份

   --incremental-basedir   指定包含完全備份的目錄

   --incremental-dir      指定包含增量備份的目錄,增量備份目錄   

   --apply-log        對(duì)備份進(jìn)行預(yù)處理操作,一般情況下,在備份完成后,數(shù)據(jù)尚且不能用于恢復(fù)操作,因?yàn)閭浞莸臄?shù)據(jù)中可能會(huì)包含尚未提交的事務(wù)或已經(jīng)提交但尚未同步至數(shù)據(jù)文件中的事務(wù)。因此,此時(shí)數(shù)據(jù)文件仍處理不一致狀態(tài)。“準(zhǔn)備”的主要作用正是通過回滾未提交的事務(wù)及同步已經(jīng)提交的事務(wù)至數(shù)據(jù)文件也使得數(shù)據(jù)文件處于一致性狀態(tài)。

   --redo-only      不回滾未提交事務(wù)

   --copy-back     恢復(fù)備份目錄


一些常用的其他可選參數(shù):

--lock-wait-query-type   該參數(shù)允許用戶指定,哪類的SQL語句是需要Flush table with read lock等待的

--lock-wait-threshold    運(yùn)行超過這個(gè)時(shí)間的查詢才算長(zhǎng)查詢

--lock-wait-timeout     等待長(zhǎng)查詢多少時(shí)間后再嘗試FTWRL,一旦Flush table with read lock被阻塞超過預(yù)定時(shí)間,則XtraBackup出錯(cuò)返回退出,參數(shù)允許用戶指定了超過該閾值時(shí)間的查詢會(huì)被Kill,同時(shí)也允許用戶指定Kill


全量備份:

innobackupex --user=root --password=xxxx --datadir=/var/lib/mysql  /mysql_bkup/   

#datadir是mysql數(shù)據(jù)data存儲(chǔ)路徑,可以到my.cnf里面查看。mysql_bkup備份存放路徑。默認(rèn)會(huì)以時(shí)間命名備份目錄。


#合并數(shù)據(jù),使數(shù)據(jù)文件處于一致性的狀態(tài):

innobackupex --apply-log   /mysql_bkup/2022-08-03_21-14-37/  


異機(jī)恢復(fù)準(zhǔn)備:

1、使用scp命令將/mysql_bkup/2022-08-03_21-14-37/轉(zhuǎn)移到目標(biāo)新服務(wù)器數(shù)據(jù)庫。

2、新服務(wù)器mysql服務(wù)關(guān)停。將datadir數(shù)據(jù)存儲(chǔ)目錄下的數(shù)據(jù)刪除。這里建議改名,然后再新建一個(gè)(datadir路徑可從my.cnf配置文件里面查看)。


恢復(fù)數(shù)據(jù):

按上面做好了恢復(fù)準(zhǔn)備,使用命令恢復(fù)。

innobackupex --copy-back  /mysql_bkup/2022-08-03_21-14-37/ 

或者:

innobackupex --copy-back --datadir=/var/lib/mysql /mysql_bkup/2022-08-03_21-14-37/

恢復(fù)以后注意使用chown重置目錄權(quán)限,然后將mysql服務(wù)重新啟動(dòng)。



如果數(shù)據(jù)庫遷移過程是在運(yùn)行的,數(shù)據(jù)有更新,就需要增量備份。

增量備份:

--incremental 創(chuàng)建增量備份

--incremental-basedir 指定包含完全備份的目錄

--incremental-dir 指定包含增量備份的目錄


#合并全備數(shù)據(jù)目錄,確保數(shù)據(jù)的一致性

innobackupex --apply-log --redo-only /mysql_bkup/2022-08-03_21-14-37/ 


#創(chuàng)建增量備份

innobackupex --user=root --password=xxx --incremental /mysql_bkup_add/ --incremental-basedir=/mysql_bkup/2022-08-03_21-14-37/ 


#將增量備份數(shù)據(jù)合并到全備數(shù)據(jù)目錄當(dāng)中

innobackupex --apply-log  /mysql_bkup/2022-08-03_21-14-37/ --incremental-dir=/mysql_bkup_add/增量備份/


#數(shù)據(jù)一致性

innobackupex --apply-log /mysql_bkup/2022-08-03_21-14-37


#恢復(fù)數(shù)據(jù):

innobackupex --copy-back /mysql_bkup/2022-08-03_21-14-37 

#恢復(fù)到異地也是需要scp遷移到新服務(wù)器,按上面說明先停止服務(wù),刪除data數(shù)據(jù)再操作。



增量備份可以是多次,以下是多次增量備份示例:

#進(jìn)行第一次全備

[root@ebs~]#innobackupex --datadir=/var/lib/mysql --user=root --password=xxx ./bkup


#進(jìn)行第一次增備,基于上次的全備

[root@ebs ~]#innobackupex --datadir=/var/lib/mysql --user=root --password=xxx --incremental ./bkup/incer1 --incremental-basedir=./bkup/2022-04-23_11-39-31


#進(jìn)行第二次全備,基于第一次增備

[root@ebs ~]#innobackupex --datadir=/var/lib/mysql --user=root --password=xxx --incremental ./bkup/incer2 --incremental-basedir=./bkup/incer1/2022-04-23_11-47-10


--incremental 創(chuàng)建增量備份

--incremental-basedir 指定包含完全備份的目錄

--incremental-dir 指定包含增量備份的目錄


##########################恢復(fù)時(shí)進(jìn)行數(shù)據(jù)整合####################################################

#對(duì)整合的開始備份集——全備集應(yīng)用日志,并指定"--redo-only"表示開始進(jìn)入日志追加

innobackupex --apply-log --redo-only ./bkup/2022-04-23_11-39-31/


#對(duì)第一個(gè)增備集進(jìn)行"準(zhǔn)備",將其追加到全備集中

innobackupex --apply-log --redo-only ./bkup/2022-04-23_11-39-31/ --incremental-dir=./bkup/incer1/2022-04-23_11-47-10/


#對(duì)第二個(gè)增備集進(jìn)行"準(zhǔn)備",將其追加到全備集中,但是不再應(yīng)用"--redo-only",表示整合的結(jié)束點(diǎn)

innobackupex --apply-log ./bkup/2022-04-23_11-39-31/ --incremental-dir=./bkup/incer2/2022-04-23_11-53-19/


#對(duì)整合完成的全備集進(jìn)行一次整體的"準(zhǔn)備"

innobackupex --apply-log  ./bkup/2022-04-23_11-39-31/


###################進(jìn)行數(shù)據(jù)的恢復(fù)#############################

innobackupex --copy-back --datadir=/var/lib/mysql ./bkup/2022-04-23_11-39-31/ 

#如果是異地恢復(fù),需要scp遷移過去再執(zhí)行。


###############修改目錄權(quán)限并啟動(dòng)mysql###########

chown mysql:mysql -R /usr/local/mysql/data && systemctl start mysqld



官方文檔給出的恢復(fù)步驟:


innobackupex --apply-log --redo-only BASE-DIR


innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1


innobackupex --apply-log BASE-DIR --incremental-dir=INCREMENTAL-DIR-2


innobackupex --apply-log BASE-DIR


innobackupex --copy-back BASE-DIR



編輯:西部數(shù)碼
日期:2022-08-04

收藏 】 【 打印 】   
您可對(duì)文檔進(jìn)行評(píng)分喲~

勾選遇到的問題提交給我們,收到反饋后保證及時(shí)修正更新!

提交反饋需要先登陸會(huì)員帳號(hào)

上一篇:mysql備份工具innobackupex遷移恢復(fù)數(shù)據(jù)
下一篇:用ffmpeg修改MP4文件頭信息,使其支持流式加載及播放
若文檔內(nèi)容對(duì)您沒有幫助,不能解決問題? 您還可以 咨詢?cè)诰客服提交工單搜索常見問題 ,我們將竭誠(chéng)為您服務(wù)。
  >> 相關(guān)文章
 
分享至:
Top

24小時(shí)客服熱線

400-028-5800

028-62778877

您好,非正常上班時(shí)間若有緊急技術(shù)問題,請(qǐng)撥總機(jī)后按7號(hào)鍵, 其他問題請(qǐng)?zhí)峤还位蛟谏习鄷r(shí)間聯(lián)系,謝謝支持!