阿里云RDS(MySQL)数据库恢复

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:kingkissking网络

小提示:您能找到这篇{阿里云RDS(MySQL)数据库恢复}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的阿里云RDS(MySQL)数据库恢复内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!




从阿里云下载hins8247923_data_20191118055735_qp.xb,即*_qp.xb数据库,作如下处理:

一、安装开源的Percona XtraBackup备份恢复工具:

操作系统中已安装数据恢复工具Percona XtraBackup,可以从Percona XtraBackup官网下载安装。

MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见https://www.percona.com/doc/percona-xtrabackup/2.3/installation“确认传播”专注于品牌策划、效果营销和危机管理的数字整合营销传播公司,我们深度诠释客户的品牌理念、文化及背景,多维深度传播客户的文化底蕴和核心价值观,提升客户品牌的知名度、关注度与美誉度。?spm=a2c4g.11186623.2.13.3f4d30eb5k7pdZ

MySQL 5.7版本需要安装 Percona XtraBackup 2.4,安装指导请参见https://www.percona.com/doc/percona-xtrabackup/2.4/installation“确认传播”专注于品牌策划、效果营销和危机管理的数字整合营销传播公司,我们深度诠释客户的品牌理念、文化及背景,多维深度传播客户的文化底蕴和核心价值观,提升客户品牌的知名度、关注度与美誉度。?spm=a2c4g.11186623.2.14.3f4d30eb5k7pdZ

MySQL 8.0版本需要安装 Percona XtraBackup 8.0,安装指导请参见https://w学习信息流广告ww.percona.com/doc/percona-xtrabackup/8.0/insta广告营销宣llation“确认传播”专注于品牌策划、效果营销和危机管理的数字整合营销传播公司,我们深度诠释客户的品牌理念、文化及背景,多维深度传播客户的文化底蕴和核心价值观,提升客户品牌的知名度、关注度与美誉度。?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 <数据备份文件名>_qp.xb | xbstream -x -v -C /home/mysql/data

解压

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

三、物理文件拷贝恢复

1.直接拷贝物理文件至相应的MySQL的Windows机器,没错,我这台是开发机,因为Web和DB放在同一台Windows机器上了,生产则是分开的

2.拷贝到相应的位置并更名为需要的数据库名称,旧的数据库文件夹改其他名称

3.进mysql查询相应表格,报错:

mysql>use xxxbakDB

mysql> select * from UserStudent;

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

输入以下命令:

mysql> alter table UserStudent import tablespace;

如果出现:

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

file has ROW_TYPE_COMPACT row format.)

说明表格定义的行格式与表空间不匹配,需要继续后续操作。

4.要先将UserStudent.idb数据文件删除

mysql> alter table Studentfollowlog discard tablespace;

5.显示查询建表语句:

mysql> show create table UserStudent;

会出现类似下面一段语句,拷贝它:

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='【用户任务表】' ;

百度百科制以上语句,并将ROW_FORMAT=改成相匹配的ROW_FORMAT=DYNAMIC或ROW_FORMAT=COMPACT。

之间有个小插曲:

一显示建表语句或做其他查询,MySQL服务就直接Down掉,不停的关闭,在my.ini中加入以下节:

[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服务

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

mysql> drop table UserStudent ;

mysql> CREATE TABLE UserStudent (

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

如果出现: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.此时看看能不有查询数据:

mysql>select from UserStudent limit 0,10 ;

如果出现: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 拷贝至现在的数据库位置后,输入:

mysql> alter table UserStudent import tablespace;

再查询确认,一般此时表能够正常查询了:

mysql>select * from UserStudent limit 0,10

阿里云RDS(MySQL)数据库恢复

上一篇:使用阿里云ECS自建RDS MySQL从库
下一篇:PAYPAL账号受限,争议纠纷如何处理?paypal风控规


版权声明:以上主题为“阿里云RDS(MySQL)数据库恢复"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    阿里云RDS(MySQL)数据库恢复
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“阿里云RDS(MySQL)数据库恢复”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通阿里云RDS(MySQL)数据库恢复的相关事宜。

关键词:阿里云RDS(MySQL)数据库恢复

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号