RDS恢复其中某个数据库备份的流程

注意:我司RDS是通过xtrabackup工具物理全量备份。

流程:

1.首先登录管理中心》业务管理》云数据库MYSQL》点管理进去,点备份,选择需要的备份文件,下载到本地或者一台云服务器上(以下教程为云服务器)。

2.在云服务器上安装mysql和xtrabackup,版本必须与RDS一致。(我司xtrabackup版本为 8.0.22)

3.下载的备份文件上传到云服务器上,通过xtrabackup恢复整个数据库。

4.根据需要,导出单个或者多个数据库文件,格式.sql

5.然后通过phpmyadmin,或者其他工具把导出的.sql文件导入回RDS恢复成功。



以下为单个数据库恢复具体操作步骤:


版本:rds数据库mysql 8.0 ,xtrabackup 8.0.22。


1.先开通了一台linux系统云服务器,通过宝塔面板安装好mysql8.0,将下载的rds物理备份auto_269_xxx.tar.gz上传到服务器。


2.安装xtrabackup 8.0.22

访问 https://www.percona.com/downloads 下载 xtrabackup 8.0.22 。

[root@ebs-149559 ~]# wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.22-15/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.22-15.1.el7.x86_64.rpm

# 安装 xtrabackup 8.0.22

[root@ebs-149559 ~]# yum install -y percona-xtrabackup-80-8.0.22-15.1.el7.x86_64.rpm

# 解压物理备份文件


3.通过xtrabackup恢复备份文件

[root@ebs-149559 ~]# tar zxvf auto_269_xxx.tar.gz

# 停止mysql数据库

[root@ebs-149559 ~]# service mysqld stop

# 修改 my.cnf 替换 lower_case_table_names=0

[root@ebs-149559 ~]# sed -i '/lower_case_table_names/c lower_case_table_names=0' /etc/my.cnf

# 删除mysql数据库目录下所有文件

[root@ebs-149559 ~]# rm -rf /www/server/data/*

# 恢复前准备 

[root@ebs-149559 ~]# xtrabackup --prepare --target-dir=auto_269_xxx

# 恢复数据 

[root@ebs-149559 ~]# xtrabackup  --copy-back --target-dir=auto_269_xxx

# 重置数据库目录权限

[root@ebs-149559 ~]# chown mysql:mysql /www/server/data/ -Rf

# 启动数据库,启动后数据库root密码为之前rds的root密码。

[root@ebs-149559 ~]# service mysqld start


4.导出单个库,参考:https://faq.myhostadmin.net/faq/listagent.asp?unid=566

5.通过Navicat 导入恢复,参考:https://faq.myhostadmin.net/faq/listagent.asp?unid=430


以上为参考流程,具体操作以实际为准。

如需我司提供代为操作恢复备份,请提交工单收费处理(300元/次)。


日期:2023-11-07

打印 】