# at 126
#200316 17:54:14 server id 1 end_log_pos 157 CRC32 0xfcc47ad6 Previous-GTIDs
# [empty]
# at 157
#200316 17:54:27 server id 1 end_log_pos 204 CRC32 0xa7febd1f Rotate to mysqlbin.
000002 pos: 4
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
1.10.11 通过备份文件恢复云数据库(MySQL)实例数据
操作场景
云数据库RDS服务支持使用已有的自动备份和手动备份,将实例数据恢复到备份被创 建时的状态。该操作恢复的为整个实例的数据。
通过备份文件恢复到实例上,会从OBS备份空间中将该备份文件下载到实例上进行全 量恢复,恢复时长和实例的数据量有关,平均恢复速率为40MB/s。
限制条件
● 账户余额大于等于0元,才可恢复到新实例。新实例将作为用户新创建的实例进行 收费。
● RDS for MySQL不支持将备份恢复到原实例,如有需要,请先将备份恢复到同版 本的新实例或已有实例,然后将该实例的IP修改为原实例的IP。
● 本地SSD盘实例不支持恢复到已有实例。
● SSD云盘的实例恢复到本地SSD盘实例时,提示“暂不支持恢复到该规格的实例,
请选择其它规格”。
操作步骤
步骤1 登录管理控制台。
步骤2 单击管理控制台左上角的 ,选择区域和项目。
步骤3 在页面左上角单击 ,选择“数据库 > 云数据库 RDS”。进入云数据库 RDS信息页 面。
步骤4 在左侧导航栏单击“备份管理”,选择需要恢复的备份,单击操作列的“恢复”。
您也可在“实例管理”页面,单击指定的实例名称,在左侧导航栏单击“备份恢 复”,在“全量备份”页签下单击目标备份对应的操作列中的“恢复”。
步骤5 选择需要的恢复方式,单击“确定”。
● 新实例:将备份恢复到新创建的实例上。
选择恢复到“新实例”,单击“确定”,跳转到“恢复到新实例”的服务选型页 面:
– 数据库引擎和数据库版本,与原实例相同,不可重置。
– 存储空间大小默认和原实例相同,且必须大于或等于原实例存储空间大小。
– 其他参数默认,用户如需设置,请参见购买实例。
图1-45 恢复到 MySQL 新实例
● 已有实例:将备份数据恢复到已经存在的实例上。
a. 勾选“我确认恢复到目标实例会导致数据被覆盖,恢复过程中数据库不可 用。目标实例引擎类型、版本号要求与原实例相同,且存储空间大于等于原 实例。”,单击“下一步”。
b. 确认恢复信息无误,单击“确定”。
须知
– 如果目标数据库实例已被删除,则不可恢复到已有实例。
– 恢复到已有实例会导致实例数据被覆盖,且恢复过程中实例将不可用。
– 只可选择与原实例相同引擎,相同版本或高版本的实例。
– 请确保目标实例的存储空间大于或等于当前实例的存储空间,否则会导致任务 下发失败。
– 本地SSD盘实例不支持恢复到已有实例。
若您已开启高危操作保护,在“身份验证”弹出框中单击“获取验证码”,正确 输入验证码并单击“确定”,页面自动关闭。
通过进行二次认证再次确认您的身份,进一步提高帐号安全性,有效保护您安全 使用云产品。关于如何开启操作保护,具体请参考《统一身份认证服务用户指 南》的内容。
图1-46 恢复到已有 MySQL 实例
步骤6 查看恢复结果。
说明
恢复云数据库(MySQL)实例数据,对原实例没有影响。
● 恢复到新实例
为用户重新创建一个和该备份数据相同的实例。可看到实例由“创建中”变为
“正常”,说明恢复成功。
恢复成功的新实例是一个独立的实例,与原有实例没有关联。如需使用只读实 例,请重新在该实例上进行创建。
新实例创建成功后,系统会自动执行一次全量备份。
● 恢复到已有实例
在“实例管理”页面,可查看目标实例状态为“恢复中”,恢复完成后,实例状 态由“恢复中”变为“正常”。如果目标实例下存在只读实例,只读实例的状态 与目标实例一致。
恢复成功后,会执行一次全量备份。
您可以通过“任务中心”查看详细进度和结果。具体请参见任务中心。
----结束
后续操作
恢复成功后可以登录数据库实例进行验证。
云数据库MySQL不支持将备份恢复到原实例,如有需要,在恢复到新实例或已有实例 后,使用DRS将新实例数据迁移到原实例或者修改新实例内网IP。
常见问题
如何找回误删除数据库和数据表 如果没有备份该怎么恢复数据
1.10.12 通过备份文件恢复到自建数据库(MySQL)
操作场景
您可根据业务需要,参考下载全量备份文件,并通过备份文件进行本地存储备份或者 恢复数据。
须知
备份文件不支持恢复到本地为Windows操作系统的数据库。
由于开源备份工具(XtraBackup)目前仅支持x86包,不支持ARM,因此ARM的ECS自 建库不能根据本章操作进行备份文件恢复,推荐您可以使用DRS迁移或数据导出导入 的方式,具体请参见数据迁移。
前提条件
通过下载备份文件恢复数据到自建MySQL,请确保恢复目标MySQL版本不低于备份源 RDS for MySQL版本。
恢复数据过程中,您可通过命令查看任务进程:
ps -ef | grep mysql
操作步骤
步骤1 下载qpress程序,并上传到ECS进行安装。
在网站下载文件“qpress-11-linux.x64.tar”, 并上传到ECS上。
tar -xvf qpress-11-linux-x64.tar mv qpress /usr/bin/
步骤2 下载XtraBackup软件,并上传到ECS进行安装。
须知
● 对于MySQL 5.6和5.7,请下载XtraBackup 2.4.9及其以上版本。
● 对于MySQL 8.0,请下载XtraBackup 8.0及其以上版本。
在网站下载XtraBackup,并上传到ECS上,下面以下载“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 步骤3 在ECS上解压下载好的全备文件。
1. 创建一个临时目录,下面以mysqlbackup为例。
mkdir mysqlbackup 2. 解压文件。
– 5.6和5.7版本执行:
xbstream -x -p 4 < ./全备文件.qp -C ./mysqlbackup/
innobackupex --parallel 4 --decompress ./mysqlbackup – 8.0版本执行:
xbstream -x -p 4 < ./全备文件.qp -C ./mysqlbackup/
xtrabackup --parallel 4 --decompress --target-dir=./mysqlbackup 3. 删除“.qp”备份文件。
find ./mysqlbackup/ -name '*.qp' | xargs rm -f 步骤4 应用日志。
● 5.6和5.7版本执行:innobackupex --apply-log ./mysqlbackup
● 8.0版本执行:xtrabackup --prepare --target-dir=./mysqlbackup 步骤5 备份数据。
1. 停止MySQL数据库服务。
service mysql stop 说明
如果是MySQL5.7, 需执行如下命令停止MySQL数据库服务:
/bin/systemctl stop mysqld.service 2. 备份原来的数据库目录。
mv /var/lib/mysql/data /var/lib/mysql/data_bak 3. 创建新的数据库目录并修改目录权限。
mkdir /var/lib/mysql/data
chown mysql:mysql /var/lib/mysql/data
步骤6 拷贝全备文件,并修改目录权限。
● 5.6和5.7版本执行:innobackupex --defaults-file=/etc/my.cnf --copy-back ./
mysqlbackup
● 8.0版本执行:xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=./mysqlbackup
chown -R mysql:mysql /var/lib/mysql/data 说明
执行本步骤前,需要确保my.cnf配置正确。
/etc/my.cnf
datadir=/var/lib/mysql/data 步骤7 启动数据库。
service mysql start 说明
如果是MySQL5.7, 需执行如下命令启动数据库:
/bin/systemctl start mysqld.service 步骤8 登录数据库,查看数据恢复结果。
mysql -u root show databases
图1-47 查看数据恢复结果
----结束
常见问题
如何找回误删除数据库和数据表 如果没有备份该怎么恢复数据
1.10.13 将数据库实例恢复到指定时间点
操作场景
云数据库RDS服务支持使用已有的自动备份,恢复实例数据到指定时间点。
您可根据业务需要,对单个实例进行恢复,也可对实例进行批量恢复。
实例恢复到指定时间点,会从OBS备份空间中选择一个该时间点最近的全量备份下载 到实例上进行全量恢复,再重放增量备份到指定时间点,恢复时长和实例的数据量有 关,平均恢复速率为30MB/s。
约束限制
● 账户余额大于等于0元,才可恢复到新实例。新实例将作为用户新创建的实例进行 收费。
须知
请勿在MySQL实例的生命周期内执行“reset master”命令,以免造成恢复到指 定时间点功能异常。
● RDS for MySQL不支持将备份恢复到原实例,如有需要,请先将备份恢复到新实 例或已有实例,然后将该实例的IP修改为原实例的IP。