RDS恢復其中某個數據庫備份的流程
發佈時間:2023-11-07
注意:我司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
以上為參考流程,具體操作以實際為準。
如需我司提供代為操作恢復備份,請提交工單收費處理(300元/次)。
