RDS MySQL物理備份文件恢復(fù)到自建數(shù)據(jù)庫(kù)使用xb文件恢復(fù)mysql數(shù)據(jù)

RDS MySQL物理備份文件恢復(fù)到自建數(shù)據(jù)庫(kù)

轉(zhuǎn)載自阿里云https://help.aliyun.com/knowledge_detail/41817.html#concept-41817-zh
開源軟件Percona Xtrabackup可以用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份恢復(fù),您可以使用該軟件將云數(shù)據(jù)庫(kù)MySQL的備份文件恢復(fù)到自建數(shù)據(jù)庫(kù)中,本文將介紹詳細(xì)的操作步驟瞄沙。

說明

注意事項(xiàng)

本文使用Linux7的操作系統(tǒng)以及MySQL5.7版本為例進(jìn)行演示袱箱。

  • 操作系統(tǒng)中已安裝數(shù)據(jù)恢復(fù)工具Percona XtraBackup遏乔,您可以從Percona XtraBackup官網(wǎng)下載安裝。

    • MySQL 5.6及之前的版本需要安裝 Percona XtraBackup 2.3发笔,安裝指導(dǎo)請(qǐng)參見官方文檔Percona XtraBackup 2.3盟萨。
    • MySQL 5.7版本需要安裝 Percona XtraBackup 2.4,安裝指導(dǎo)請(qǐng)參見官方文檔Percona XtraBackup 2.4了讨。
    • MySQL 8.0版本需要安裝 Percona XtraBackup 8.0捻激,安裝指導(dǎo)請(qǐng)參見官方文檔Percona XtraBackup 8.0
  • 2019年2月20日后創(chuàng)建的MySQL 5.6實(shí)例前计,數(shù)據(jù)備份文件的格式為xbstream文件包(_qp.xb后綴)胞谭。

  • 自建MySQL數(shù)據(jù)庫(kù)安裝在64位的Linux系統(tǒng)中,且與云數(shù)據(jù)庫(kù)MySQL版的版本相同残炮。

    說明 由于軟件限制韭赘,目前只支持將云數(shù)據(jù)庫(kù)MySQL的備份文件恢復(fù)到安裝在Linux系統(tǒng)中的自建MySQL數(shù)據(jù)庫(kù)中缩滨。

前提條件

實(shí)例版本如下:

  • MySQL 8.0高可用版(本地SSD盤)
  • MySQL 5.7高可用版(本地SSD盤)
  • MySQL 5.6
  • MySQL 5.5

說明 基礎(chǔ)版實(shí)例僅提供快照備份势就,無法下載。您可以參見基礎(chǔ)版實(shí)例的備份怎么恢復(fù)或遷移脉漏。

備份恢復(fù)操作步驟

  1. 登錄RDS管理控制臺(tái)苞冯。

  2. 在頁(yè)面左上角,選擇實(shí)例所在地域侧巨。

  3. 找到目標(biāo)實(shí)例舅锄,單擊實(shí)例ID。

  4. 在左側(cè)導(dǎo)航欄中單擊備份恢復(fù)司忱。

  5. 選擇數(shù)據(jù)備份標(biāo)簽頁(yè)皇忿。

  6. 選擇查詢的時(shí)間范圍畴蹭,然后單擊查詢

  7. 在數(shù)據(jù)備份列表中鳍烁,找到要下載的數(shù)據(jù)備份叨襟,并單擊其右側(cè)的下載

    說明 如果沒有下載按鈕幔荒,請(qǐng)確認(rèn)您的實(shí)例版本是否支持下載物理備份文件糊闽。

  8. 實(shí)例備份文件下載窗口,單擊復(fù)制外網(wǎng)地址旁的

    爹梁,獲取數(shù)據(jù)備份文件外網(wǎng)下載地址右犹。
  9. 登錄云服務(wù)器ECS。

  10. 執(zhí)行如下命令姚垃,下載數(shù)據(jù)備份文件念链。

wget -c '<數(shù)據(jù)備份文件外網(wǎng)下載地址>' -O <自定義文件名>

說明

*   -c:?jiǎn)⒂脭帱c(diǎn)續(xù)傳模式。
*   -O:將下載的結(jié)果保存為指定的文件(使用URL中包含的文件名后綴 .tar.gz 积糯、.xb.gz 或 _qp.xb)钓账。
  1. 執(zhí)行如下命令,解壓已下載的數(shù)據(jù)備份文件絮宁。

說明

  • 本文以自定義路徑/home/mysql/data為例梆暮,您可以根據(jù)實(shí)際情況將其替換成實(shí)際路徑。

  • innobackupex解壓命令需要安裝qpress绍昂,您可以前往QuickLZ網(wǎng)站啦粹,下載qpress工具,然后使用如下命令安裝:

    放大查看 復(fù)制代碼 
    
tar xvf qpress-11-linux-x64.tar chmod 775 qpress cp qpress /usr/bin

目前物理備份集文件有3種格式:

*   tar 壓縮包 (.tar.gz 后綴)
*   xbstream 壓縮包 (.xb.gz 后綴)
*   xbstream 文件包(_qp.xb 后綴)

說明 2019年2月20日后創(chuàng)建的MySQL 5.6實(shí)例窘游,數(shù)據(jù)備份文件的格式為xbstream文件包(_qp.xb 后綴)唠椭。

對(duì)于tar 壓縮包 (.tar.gz 后綴),使用命令:

tar -izxvf <數(shù)據(jù)備份文件名>.tar.gz -C /home/mysql/data
對(duì)于xbstream 壓縮包 (.xb.gz 后綴)忍饰,使用命令:
gzip -d -c <數(shù)據(jù)備份文件名>.xb.gz | xbstream -x -v -C /home/mysql/data
對(duì)于xbstream 文件包(_qp.xb 后綴)贪嫂,使用命令:

解包

    cat <數(shù)據(jù)備份文件名>_qp.xb | xbstream -x -v -C /home/mysql/data

    ## MySQL 5.6/5.7解壓
    innobackupex --decompress --remove-original /home/mysql/data
    ## MySQL 8.0解壓
    xtrabackup --decompress --remove-original --target-dir=/home/mysql/data

解包報(bào)錯(cuò)解決

線上mysql數(shù)據(jù)庫(kù)通過[innobackupex ]工具恢復(fù)時(shí),如工具安裝不完成會(huì)發(fā)生各種各樣的報(bào)錯(cuò)艾蓝。這里簡(jiǎn)單說明下depress解壓缺少工具qpress解壓辦法力崇。
默認(rèn)系統(tǒng)無法yum或apt-get,可以通過下載官網(wǎng)的qpress tar包解壓使用赢织。
解決辦法做如下三步操作即可:

1.  wget http://www.quicklz.com/qpress-11-linux-x64.tar
2.  tar xvf qpress-11-linux-x64.tar
3.  cp qpress /usr/bin

問題解決亮靴。
重新再執(zhí)行命令就可以了。

說明 -C:指定文件要解壓到的目錄于置〖氲酰可選參數(shù),若不指定就解壓到當(dāng)前目錄。

  1. 執(zhí)行如下命令搓侄,查詢解壓后生成的文件瞄桨。
ls -l /home/mysql/data

命令執(zhí)行成功后,系統(tǒng)會(huì)返回如下結(jié)果讶踪,其中藍(lán)色字體為生成備份文件時(shí)RDS實(shí)例所包含的數(shù)據(jù)庫(kù)讲婚。

  1. 執(zhí)行如下命令,恢復(fù)解壓好的備份文件俊柔。
## MySQL 5.6/5.7
    innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data

    ## MySQL 8.0
    xtrabackup --prepare --target-dir=/home/mysql/data
    xtrabackup --datadir=/var/lib/mysql --copy-back --target-dir=/home/mysql/data</pre>

若系統(tǒng)返回如下類似結(jié)果筹麸,則說明備份文件已成功恢復(fù)到自建數(shù)據(jù)庫(kù)。


image.png

說明 請(qǐng)確保您的Percona XtraBackup版本正確:

  • MySQL 5.6及之前的版本需要安裝 Percona XtraBackup 2.3雏婶,安裝指導(dǎo)請(qǐng)參見官方文檔Percona XtraBackup 2.3物赶。
    • MySQL 5.7版本需要安裝 Percona XtraBackup 2.4,安裝指導(dǎo)請(qǐng)參見官方文檔Percona XtraBackup 2.4留晚。
    • MySQL 8.0版本需要安裝 Percona XtraBackup 8.0酵紫,安裝指導(dǎo)請(qǐng)參見官方文檔Percona XtraBackup 8.0
  1. 為避免版本問題错维,需修改backup-my.cnf參數(shù)奖地,具體操作步驟如下。
  2. 執(zhí)行如下命令赋焕,以文本方式編輯backup-my.cnf文件参歹。
vi /home/mysql/data/backup-my.cnf
2.  自建數(shù)據(jù)庫(kù)不支持如下參數(shù),需要注釋掉隆判。
#innodb_log_checksum_algorithm
        #innodb_fast_checksum
        #innodb_log_block_size
        #innodb_doublewrite_file
        #rds_encrypt_data
        #innodb_encrypt_algorithm
        #redo_log_version
        #master_key_id
        #server_uuid
    **說明**
  • 如果自建數(shù)據(jù)庫(kù)使用的是MyISAM引擎犬庇,和阿里云的InnoDB不兼容,需要多注釋掉如下參數(shù)并增加skip-grant-tables參數(shù):
#innodb_log_checksum_algorithm=strict_crc32 #redo_log_version=1 skip-grant-tables
  • 如果自建數(shù)據(jù)庫(kù)使用的是MyIAM引擎侨嘀,且對(duì)系統(tǒng)表進(jìn)行操作時(shí)報(bào)錯(cuò)(存儲(chǔ)引擎相關(guān))臭挽,請(qǐng)按如下操作進(jìn)行存儲(chǔ)引擎的轉(zhuǎn)換:
alter table <表名> engine=myisam;
3.  按**Esc**鍵,然后輸入`:wq`并回車進(jìn)行保存咬腕。
  1. 執(zhí)行如下命令欢峰,修改文件屬主,并確定文件所屬為MySQL用戶涨共。
chown -R mysql:mysql /home/mysql/data
  1. 執(zhí)行如下命令纽帖,啟動(dòng)MySQL進(jìn)程。
mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &

說明 建議您參考官方文檔重置root賬戶的密碼煞赢。

  1. 執(zhí)行如下命令抛计,登錄MySQL數(shù)據(jù)庫(kù)以驗(yàn)證進(jìn)程啟動(dòng)成功哄孤。
mysql -uroot -p<數(shù)據(jù)庫(kù)密碼>
若系統(tǒng)返回如下結(jié)果照筑,進(jìn)程啟動(dòng)成功,則說明已成功執(zhí)行參數(shù)注釋和修改文件屬主。
image.png

常見問題

  • 除了下載備份文件恢復(fù)之外凝危,還有其他方法可以將實(shí)例的數(shù)據(jù)快速恢復(fù)到自建數(shù)據(jù)庫(kù)嗎波俄?

    您可以使用DTS將RDS MySQL遷移至自建MySQL

  • 為什么下載數(shù)據(jù)備份文件會(huì)報(bào)錯(cuò)蛾默?

    使用

wget -c '<數(shù)據(jù)備份文件外網(wǎng)下載地址>' -O <自定義文件名>.tar.gz

命令下載時(shí)用2個(gè)英文單引號(hào)(')將下載地址包含起來懦铺,便于程序識(shí)別具體的地址,防止出錯(cuò)支鸡。

  • 下載的備份文件解壓縮報(bào)錯(cuò)怎么辦冬念?

    1. 確認(rèn)您下載的文件是否為物理備份文件。
    2. 壓縮文件保存的名稱后綴是否正確(使用URL中包含的文件名后綴 .tar.gz 牧挣、.xb.gz 或 _qp.xb)急前。
    3. 針對(duì)不同格式的壓縮文件,使用正確的解壓命令瀑构。詳情請(qǐng)參見本文操作步驟第11步裆针。
  • 基礎(chǔ)版實(shí)例的備份怎么恢復(fù)或遷移呢?

    基礎(chǔ)版實(shí)例僅支持快照備份寺晌,您可以使用以下方法:

  • 下載的備份能恢復(fù)到另一個(gè)RDS MySQL實(shí)例上嗎世吨?

    暫不支持此操作。建議您使用DTS遷移RDS實(shí)例數(shù)據(jù)到另一個(gè)RDS實(shí)例上呻征。

相關(guān)文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耘婚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子陆赋,更是在濱河造成了極大的恐慌边篮,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,835評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奏甫,死亡現(xiàn)場(chǎng)離奇詭異戈轿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)阵子,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門思杯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挠进,你說我怎么就攤上這事色乾。” “怎么了领突?”我有些...
    開封第一講書人閱讀 156,481評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵暖璧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我君旦,道長(zhǎng)澎办,這世上最難降的妖魔是什么嘲碱? 我笑而不...
    開封第一講書人閱讀 56,303評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮局蚀,結(jié)果婚禮上麦锯,老公的妹妹穿的比我還像新娘。我一直安慰自己琅绅,他們只是感情好扶欣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,375評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著千扶,像睡著了一般料祠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澎羞,一...
    開封第一講書人閱讀 49,729評(píng)論 1 289
  • 那天术陶,我揣著相機(jī)與錄音,去河邊找鬼煤痕。 笑死梧宫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摆碉。 我是一名探鬼主播塘匣,決...
    沈念sama閱讀 38,877評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼巷帝!你這毒婦竟也來了忌卤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤楞泼,失蹤者是張志新(化名)和其女友劉穎驰徊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體堕阔,經(jīng)...
    沈念sama閱讀 44,088評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棍厂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,443評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了超陆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牺弹。...
    茶點(diǎn)故事閱讀 38,563評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖时呀,靈堂內(nèi)的尸體忽然破棺而出张漂,到底是詐尸還是另有隱情,我是刑警寧澤谨娜,帶...
    沈念sama閱讀 34,251評(píng)論 4 328
  • 正文 年R本政府宣布航攒,位于F島的核電站,受9級(jí)特大地震影響趴梢,放射性物質(zhì)發(fā)生泄漏漠畜。R本人自食惡果不足惜币他,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,827評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盆驹。 院中可真熱鬧圆丹,春花似錦滩愁、人聲如沸躯喇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)廉丽。三九已至,卻和暖如春妻味,著一層夾襖步出監(jiān)牢的瞬間正压,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工责球, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焦履,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,240評(píng)論 2 360
  • 正文 我出身青樓雏逾,卻偏偏與公主長(zhǎng)得像嘉裤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子栖博,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,435評(píng)論 2 348