如何对RDS MySQL实例的数据库进行备份及恢复
概述
本文主要介绍如何对RDS MySQL实例的数据库进行备份及恢复。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
若您需要进行MySQL单库单表恢复,且实例为如下版本时,请参见MySQL单库单表恢复。若其他版本的实例需要恢复数据,且使用了数据库备份DBS产品时,可以通过数据库备份DBS进行单表恢复,详情请参见单表恢复。
- MySQL 8.0 高可用版(本地SSD盘)
- MySQL 5.7 高可用版(本地SSD盘)
- MySQL 5.6 高可用版
通过mysqldump进行库备份及恢复
- 在Linux系统的ECS实例中,安装MySQL客户端工具。
说明:您也可以直接在实例中,使用
yum install mysql
命令安装MySQL客户端。- 执行以下命令,下载MySQL客户端工具。
wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm
- 执行以下命令,安装MySQL客户端工具。
rpm -ivh http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm
- 执行以下命令,下载MySQL客户端工具。
- 执行以下命令,对RDS实例执行库备份操作。
说明:若您当前环境没有mysqldump命令,您可以执行以下命令,安装mysqldump。
rpm -ivh https://downloads.mysql.com/archives/get/p/23/file/MySQL-client-5.6.21-1.rhel5.x86_64.rpm
mysqldump -h [$Host] -u [$User] -P [$Port] -p --opt --default-character-set=utf8 --triggers --hex-blob [$Database_Name] > /tmp/db_name.sql
说明:
输入密码后,mysqldump将自动完成备份操作,系统显示类似如下。备份的相关信息请参见RDS for MySQL mysqldump选项设置。
- [$User]为数据库登录用户。
- [$Port]为数据库端口号。
- [$Host]为数据库地址。
- [$Database_Name]为数据库的库名。
- 执行以下命令,确认成功生成SQL文件。
ll /tmp/db_name.sql
- 若您需要进行RDS实例数据恢复操作,可以根据备份文件,执行以下命令。
mysql -h [$Host] -u [$User] -P [$Port] -p [$Database_Name] < /tmp/db_name.sql
系统显示类似如下,输入密码后,将完成恢复操作。
通过备份集进行恢复
RDS备份集会将所有数据都进行备份,若你需要恢复数据,请参考以下内容。
- 在Linux系统的ECS实例中,安装MySQL客户端工具。
说明:您也可以直接在实例中,使用
yum install mysql
命令安装MySQL客户端。- 执行以下命令,下载MySQL客户端工具。
wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm
- 执行以下命令,安装MySQL客户端工具。
rpm -ivh http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm
- 执行以下命令,下载MySQL客户端工具。
- 登录RDS控制台,单击目标实例ID,选择备份恢复,单击目标备份集右侧恢复,创建新的RDS实例。
- 确认新实例的数据正常后,您可以将需要的数据从新实例迁移回原实例,详情请参见RDS实例间的数据迁移。
适用于
- 云数据库RDS MySQL版