当前位置:   article > 正文

云上RDS数据库备份本地恢复_云数据库备份 如何恢复到本地mysql数据库上

云数据库备份 如何恢复到本地mysql数据库上

一:在RDS for MySQL下载全量备份文件

RDS for MySQL实例会在固定时间进行自动全备任务,也可以由您指定时间进行手动全备任务,其生成的.qp文件支持下载以及在本地进行恢复自建数据库。

在RDS界面单击实例名称,选择“备份恢复 > 全量备份 > 下载”,下载全量备份文件。

二:在本地MySQL安装qpress和XtraBackup

方式一:手动安装

下载正确版本的qpress和XtraBackup
下载MySQL:Index of mysql-local/Downloads
下载qpress工具:https://repo.percona.com/yum/release/
下载Percona XtraBackup工具:
对于MySQL 5.6和5.7版本,下载XtraBackup 2.4.9及其以上版本。
对于MySQL 8.0版本,下载XtraBackup 8.0及其以上版本。

下载示例

MySQL 5.6

mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz

MySQL 5.7

mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

MySQL 8.0

mysql-8.0.26-linux-glibc2.12-x86_64.tar

qpress

qpress-11-1.el7.x86_64.rpm

Percona XtraBackup

XtraBackup 2.4.9(MySQL 5.6、5.7)

XtraBackup 8.0(MySQL 8.0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
安装qpress rpm包。以Enterprise Linux 7(CentOS 7, RHEL 7, Rocky Linux 7, AlmaLinux 7)操作系统为例。

rpm -ivh qpress-11-1.el7.x86_64.rpm

解压Xtrabackup包,并改名为“xtrabackup”。
tar -zxvf percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz

mv percona-xtrabackup-2.4.9-Linux-x86_64 xtrabackup
  • 1
  • 2
  • 3
xtrabackup添加到环境变量。
echo  "export  PATH=$PATH:/usr/local/xtrabackup/bin"  >> /etc/profile
mv xtrabackup/ /usr/local/
source  /etc/profile
  • 1
  • 2
  • 3

方式二:wget安装

  • 安装qpress rpm包。
wget https://repo.percona.com/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm

rpm -ivh qpress-11-1.el7.x86_64.rpm
  • 1
  • 2
  • 3
  • 安装Percona XtraBackup。
    MySQL 5.6、5.7,以下载并安装Percona XtraBackup 2.4.9为例
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm --nodeps --force
  • 1
  • 2
  • MySQL 8.0,以下载并安装Percona XtraBackup 8.0为例
wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.32-26/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm
rpm -ivh percona-xtrabackup-80-8.0.32-26.1.el7.x86_64.rpm --nodeps --force
  • 1
  • 2

三:使用备份文件恢复数据到自建MySQL

  • 创建一个临时目录“backupdir”。
mkdir backupdir
  • 1
  • 解压全备文件。
    说明:
    解压全备文件到临时目录“backupdir”前,需要保证临时目录下为空,再进行解压,避免恢复异常。

  • MySQL 5.6、5.7

xbstream -x -p 4 < ./全备文件.qp -C ./backupdir/

innobackupex --parallel 4 --decompress ./backupdir
  • 1
  • 2
  • 3
  • MySQL 8.0
xbstream -x -p 4 < test.qp -C ./backupdir/

xtrabackup --parallel 4 --decompress --target-dir=./backupdir
  • 1
  • 2
  • 3

在这里插入图片描述

  • 删除qp文件。
find ./backupdir/ -name '*.qp' | xargs rm -f
  • 1
  • 准备备份文件。
MySQL 5.6、5.7
innobackupex --apply-log ./backupdir
MySQL 8.0
xtrabackup --prepare --target-dir=./backupdir
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

  • 备份数据。
    停止MySQL数据库服务。
service mysql stop

/bin/systemctl stop mysqld.service
  • 1
  • 2
  • 3
  • 备份原来的数据库目录。
mv /usr/local/mysql/data /usr/local/mysql/data_bak

mkdir /usr/local/mysql/data
  • 1
  • 2
  • 3
  • 创建新的数据库目录并修改目录权限。
chown mysql:mysql /usr/local/mysql/data
  • 1

四恢复数据到自建库,并修改目录权限。

  • 执行该步骤前,需要清空自建库的“data”目录
MySQL 5.6、5.7
innobackupex --defaults-file=/etc/my.cnf --copy-back ./backupdir

chown -R mysql:mysql /usr/local/mysql/data

MySQL 8.0
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=./backupdir

chown -R mysql:mysql /usr/local/mysql/data
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 说明:
    命令中的相对路径(./backupdir)可替换成绝对路径。
    “–defaults-file”为MySQL配置文件位置,您可以根据实际情况进行修改。
    启动数据库。
    service mysql start

如果是MySQL 5.7,需执行如下命令启动数据库

/bin/systemctl start mysqld.service

登录数据库,查看数据恢复结果。
show databases
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/811366?site
推荐阅读
相关标签
  

闽ICP备14008679号