推出全新OEM分銷體系
具有殺傷力的價(jià)格,超大利潤(rùn)
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
|
|||||
>> 相關(guān)文章 | |||||
關(guān)注我們
最新動(dòng)態(tài)
新浪微博
交流互動(dòng)
關(guān)于我們
|
聯(lián)系我們
|
付款方式
|
人才招聘
|
友情鏈接
|
域名資訊
|
提交工單
|
我要評(píng)價(jià)
|
投訴建議
|
域名投訴
|
網(wǎng)站備案
|
百科知識(shí)
|
手機(jī)站
《中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證》編號(hào):B1-20172600 川B1-20080058 蜀ICP備12028237號(hào)
《中華人民共和國(guó)互聯(lián)網(wǎng)域名服務(wù)許可證》編號(hào):川 D3-20220002
電話總機(jī):028-62778877(20線) 400電話:400-028-5800
400-028-5800
028-62778877
您好,非正常上班時(shí)間若有緊急技術(shù)問題,請(qǐng)撥總機(jī)后按7號(hào)鍵, 其他問題請(qǐng)?zhí)峤还位蛟谏习鄷r(shí)間聯(lián)系,謝謝支持!