阿里云RDS(MySQL)數(shù)據(jù)庫恢復(fù)

來源: 51CTO
作者:kingkissking
時間:2021-04-09
17061
本文分享阿里云RDS(MySQL)數(shù)據(jù)庫恢復(fù)具體步驟。

stephan-henning-S0hFspmvm_s-unsplash.jpg

從阿里云下載hins8247923_data_20191118055735_qp.xb,即*_qp.xb數(shù)據(jù)庫,作如下處理:

一、安裝開源的Percona XtraBackup備份恢復(fù)工具:

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

MySQL 5.6及之前的版本需要安裝 Percona XtraBackup 2.3,安裝指導請參見https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html?spm=a2c4g.11186623.2.13.3f4d30eb5k7pdZ

MySQL 5.7版本需要安裝 Percona XtraBackup 2.4,安裝指導請參見https://www.percona.com/doc/percona-xtrabackup/2.4/installation.html?spm=a2c4g.11186623.2.14.3f4d30eb5k7pdZ

MySQL 8.0版本需要安裝 Percona XtraBackup 8.0,安裝指導請參見https://www.percona.com/doc/percona-xtrabackup/8.0/installation.html?spm=a2c4g.11186623.2.15.3f4d30eb5k7pdZ

由于我是CentOS7.6的機器,MySQL為5.7的版本,因此:

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

yum list | grep percona

yum install percona-xtrabackup-24

另外,innobackupex解壓命令需要安裝qpress,您可以使用命令yum install qpress -y安裝。

二、解壓文件

對于xbstream 文件包(_qp.xb 后綴),使用命令:

解包

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

解壓

innobackupex --decompress --remove-original /home/mysql/data

三、物理文件拷貝恢復(fù)

1.直接拷貝物理文件至相應(yīng)的MySQL的Windows機器,沒錯,我這臺是開發(fā)機,因為Web和DB放在同一臺Windows機器上了,生產(chǎn)則是分開的

2.拷貝到相應(yīng)的位置并更名為需要的數(shù)據(jù)庫名稱,舊的數(shù)據(jù)庫文件夾改其他名稱

3.進mysql查詢相應(yīng)表格,報錯:

mysql>use xxxbakDB

mysql> select * from UserStudent;

ERROR 1812 (HY000): Tablespace is missing for table saplatformdb.userstudent.

輸入以下命令:

mysql> alter table UserStudent import tablespace;

如果出現(xiàn):

ERROR 1808 (HY000): Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd

file has ROW_TYPE_COMPACT row format.)

說明表格定義的行格式與表空間不匹配,需要繼續(xù)后續(xù)操作。

4.要先將UserStudent.idb數(shù)據(jù)文件刪除

mysql> alter table Studentfollowlog discard tablespace;

5.顯示查詢建表語句:

mysql> show create table UserStudent;

會出現(xiàn)類似下面一段語句,拷貝它:

CREATE TABLE UserStudent (

Id int(11) NOT NULL AUTO_INCREMENT COMMENT '自增Id',

.......

KEY idx_et (EndDate) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=29172 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='【用戶任務(wù)表】' ;

復(fù)制以上語句,并將ROW_FORMAT=改成相匹配的ROW_FORMAT=DYNAMIC或ROW_FORMAT=COMPACT。

之間有個小插曲:

一顯示建表語句或做其他查詢,MySQL服務(wù)就直接Down掉,不停的關(guān)閉,在my.ini中加入以下節(jié):

[mysqld]

innodb_force_recovery = 4

修改完重啟后再查詢show create table UserStudent;

注意:如果后面建表的時候報ERROR 1874 (HY000): InnoDB is in read only mode

記得注釋掉my.ini中的

[mysqld]

#innodb_force_recovery = 4

再重啟MySQL服務(wù)

5.然后刪除表后并重建表:

mysql> drop table UserStudent ;

mysql> CREATE TABLE UserStudent (

.....(省略,就是上面那一段)

如果出現(xiàn):ERROR 1808 (HY000): Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format.)

CREATE TABLE時最后一行要指定:ROW_FORMAT=COMPACT

6.此時看看能不有查詢數(shù)據(jù):

mysql>select from UserStudent limit 0,10 ;

如果出現(xiàn):mysql> select from UserStudent limit 0,10;

ERROR 1812 (HY000): Tablespace is missing for table 'xxxxdb.UserStudent' .

作如下操作:

mysql>alter table UserStudent discard tablespace;

然后將備份文件里面的 UserStudent.ibd 拷貝至現(xiàn)在的數(shù)據(jù)庫位置后,輸入:

mysql> alter table UserStudent import tablespace;

再查詢確認,一般此時表能夠正常查詢了:

mysql>select * from UserStudent limit 0,10

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于51CTO,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
阿里云助力《誅仙世界》端游正式開服!
阿里云助力《誅仙世界》端游正式開服!
近?,完美世界游戲歷時多年打造的新國?仙俠MMORPG端游《誅仙世界》在阿?云上正式開服。
阿里云
云服務(wù)
2024-12-292024-12-29
一文詳解阿里云AI大基建
一文詳解阿里云AI大基建
面向AI時代,阿里云基礎(chǔ)設(shè)施是如何創(chuàng)新與發(fā)展的?計算、網(wǎng)絡(luò)、存儲、服務(wù)器、集群、可觀測等,阿里云全新升級的AI Infra到底有哪些重磅更新?
阿里云
云服務(wù)
2024-11-022024-11-02
AI時代云安全新范式,阿里云安全能力全線升級!
AI時代云安全新范式,阿里云安全能力全線升級!
AI時代,云安全面臨著新的挑戰(zhàn),不僅要持續(xù)面對以往的傳統(tǒng)問題,更需要全新理念落地于產(chǎn)品設(shè)計、技術(shù)演進、架構(gòu)設(shè)計,才能實現(xiàn)效果、性能、和成本的最優(yōu)解。
AI
阿里云
云服務(wù)
2024-09-272024-09-27
連續(xù)四年!阿里云領(lǐng)跑中國公有云大數(shù)據(jù)平臺
連續(xù)四年!阿里云領(lǐng)跑中國公有云大數(shù)據(jù)平臺
近日,國際數(shù)據(jù)公司(IDC)發(fā)布《中國大數(shù)據(jù)平臺市場份額,2023:數(shù)智融合時代的真正到來》報告——2023年中國大數(shù)據(jù)平臺公有云服務(wù)市場規(guī)模達72.2億元人民幣,其中阿里巴巴市場份額保持領(lǐng)先,占比達40.2%,連續(xù)四年排名第一。
阿里云
云服務(wù)
2024-09-182024-09-18
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家