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

mysql備份工具innobackupex遷移恢復數據

適用場景:

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

先決條件:

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

注意:

以下示例來源于網上,路徑均為示例,具體以實際路徑為準,請充分了解并有相關備份再操作。


安裝:

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常用選項:  

   --host     指定主機

   --user     指定用戶名

   --password    指定密碼

   --port     指定端口

   --databases     指定數據庫

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

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

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

   --apply-log        對備份進行預處理操作,一般情況下,在備份完成后,數據尚且不能用于恢復操作,因為備份的數據中可能會包含尚未提交的事務或已經提交但尚未同步至數據文件中的事務。因此,此時數據文件仍處理不一致狀態(tài)。“準備”的主要作用正是通過回滾未提交的事務及同步已經提交的事務至數據文件也使得數據文件處于一致性狀態(tài)。

   --redo-only      不回滾未提交事務

   --copy-back     恢復備份目錄


一些常用的其他可選參數:

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

--lock-wait-threshold    運行超過這個時間的查詢才算長查詢

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

使


全量備份:

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

#datadir是mysql數據data存儲路徑,可以到my.cnf里面查看。mysql_bkup備份存放路徑。默認會以時間命名備份目錄。


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

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


異機恢復準備:

1、使用scp命令將/mysql_bkup/2022-08-03_21-14-37/轉移到目標新服務器數據庫。

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


恢復數據:

按上面做好了恢復準備,使用命令恢復。

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/

恢復以后注意使用chown重置目錄權限,然后將mysql服務重新啟動。



如果數據庫遷移過程是在運行的,數據有更新,就需要增量備份。

增量備份:

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

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

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


#合并全備數據目錄,確保數據的一致性

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/ 


#將增量備份數據合并到全備數據目錄當中

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


#數據一致性

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


#恢復數據:

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

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



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

#進行第一次全備

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


#進行第一次增備,基于上次的全備

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


#進行第二次全備,基于第一次增備

[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 指定包含增量備份的目錄


##########################恢復時進行數據整合####################################################

#對整合的開始備份集——全備集應用日志,并指定"--redo-only"表示開始進入日志追加

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


#對第一個增備集進行"準備",將其追加到全備集中

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


#對第二個增備集進行"準備",將其追加到全備集中,但是不再應用"--redo-only",表示整合的結束點

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


#對整合完成的全備集進行一次整體的"準備"

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


###################進行數據的恢復#############################

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

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


###############修改目錄權限并啟動mysql###########

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



官方文檔給出的恢復步驟:


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



編輯:西部數碼
日期:2022-08-04

收藏 】 【 打印 】   
您可對文檔進行評分喲~

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

提交反饋需要先登陸會員帳號

上一篇:計算機信息系統(tǒng)安全專用產品銷售許可證
下一篇:mysql備份工具innobackupex遷移恢復數據
若文檔內容對您沒有幫助,不能解決問題? 您還可以 咨詢在線客服提交工單搜索常見問題 ,我們將竭誠為您服務。
  >> 相關文章
 
分享至:
Top

24小時客服熱線

400-028-5800

028-62778877

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