RDS MySQL支持全量备份导入功能,可以将对象存储OSS中的MySQL备份数据导入至RDS,并恢复至新实例。
前提条件
上云流程概览
本文包含如下步骤:
说明 上云流程的整体操作视频请参见操作视频。
演示环境说明
本文演示所用的环境为阿里云ECS实例,镜像为CentOS Linux release 8.3.2011版本,更多详情请参见创建ECS实例。
费用说明
用户备份导入至RDS后,24小时内免收存储费。超过24小时会收取费用,收费明细请参见存储费用。
说明 上述规则2021年07月15日起生效。
步骤一:安装Percona Xtrabackup
Percona XtraBackup是Percona公司开发的用于MySQL数据库物理热备的备份工具,支持多种数据库引擎。如您使用的是Ubuntu系统,请参见附录1:Ubuntu安装Xtrabackup。
步骤二:安装MySQL Backup Helper
前提条件:
- 已安装Golang。如未安装,请在命令行中执行下列命令安装。
yum install -y go
- 已安装unzip。如未安装,请在命令行中执行下列命令安装。
yum install -y unzip
说明 上述命令仅限CentOS系统使用,如您使用的是Ubuntu系统,请参见附录2:Ubuntu安装Golang和Unzip。
步骤三:备份自建库并上云
附录1:Ubuntu安装Xtrabackup
说明 执行上述任意步骤时如出现类似于
The following packages have unmet dependencies
的提示,请按照提示执行apt-get -f install
命令安装缺失的依赖包后重新执行。
附录2:Ubuntu安装Golang和Unzip
- 安装Golang
sudo apt-get install -y software-properties-common sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install -y golang-go
- 安装Unzip
sudo apt-get -y install unzip
附录3:分步骤执行全量备份和上传至OSS
附录4:设置Go代理
如果您使用的是中国地域的ECS,可能无法正常完成步骤二的编译流程,此时需要执行如下命令给Go使用阿里云的代理,然后重新执行编译。
go env -w GO111MODULE=on
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
说明 如果设置了上述代理后还是出现编译出错的情况,则可能是代理地址暂不可用造成的。此时可以在搜索引擎中搜索其他Go的代理地址来替换上述命令中的
https://mirrors.aliyun.com/goproxy/,direct
部分。推荐搜索关键词:Go代理
。
附录5:使用限制
限制项 | 详情 |
---|---|
MySQL版本限制 | 目前仅支持如下自建数据库上云。
说明 自建库的版本必须和RDS实例版本对应。例如:MySQL 5.7的备份数据只能恢复至RDS MySQL 5.7版本的实例。
|
自建MySQL限制 |
|
备份限制 |
|
OSS限制 |
|
恢复限制 |
|
复制限制 |
|