注意:我司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://www.west.cn/faq/list.asp?unid=566
5.通过Navicat 导入恢复,参考:https://www.west.cn/faq/list.asp?unid=430
以上为参考流程,具体操作以实际为准。
原文链接:https://www.west.cn/faq/list.asp?unid=2523