欢迎访问凯铧科技有限公司网站! |7X24服务热线:158-0160-3153
  • 阿里云服务器

    简单高效、处理能力可弹性伸缩的计算服务

    了解详情
当前位置:首页 > 常见问题 > 帮助中心 >
阿里云RDS for MySQL 物理备份文件恢复到自建数据库 2019-01-11 11:04:15
开源软件Percona Xtrabackup可以用于对数据库进行备份恢复,您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤。
 
说明

注意事项

本文使用Linux7的操作系统以及MySQL5.7版本为例进行演示。
  • 本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。
     
    说明 由于软件限制,目前只支持将云数据库MySQL的备份文件恢复到安装在Linux系统中的自建MySQL数据库中。
  • 操作系统中已安装数据恢复工具Percona XtraBackup。MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4。可以从Percona XtraBackup官网下载安装,安装指导请参见官方文档 Percona XtraBackup 2.3Percona XtraBackup 2.4

备份恢复操作步骤

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中单击备份恢复
  5. 选择数据备份标签页。
  6. 选择查询的时间范围,然后单击查询
  7. 在数据备份列表中,找到要下载的数据备份,并单击其右侧的下载

  8. 实例备份文件下载窗口,单击复制外网地址,获取数据备份文件外网下载地址。

  9. 登录云服务器ECS。
  10. 执行如下命令,下载数据备份文件。
     
    wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz
    
     
    说明
    • -c:启用断点续传模式。
    • -O:将下载的结果保存为指定的文件(使用URL中包含的文件名后缀 .tar.gz 、.xb.gz 或 _qp.xb)。
  11. 执行如下命令,解压已下载的数据备份文件。
     
    说明 本文以自定义路径 /home/mysql/data为例,您可以根据实际情况将其替换成实际路径。
    目前物理备份集文件有3种格式:
    • tar 压缩包 (.tar.gz 后缀)
    • xbstream 压缩包 (.xb.gz 后缀)
    • xbstream 文件包 (_qp.xb 后缀)
    对于tar 压缩包 (.tar.gz 后缀),使用命令:
     
    tar -izxvf <数据备份文件名>.tar.gz -C /home/mysql/data
    对于xbstream 压缩包 (.xb.gz 后缀),使用命令:
     
    gzip -d -c <数据备份文件名>.xb.gz | xbstream -x -v -C /home/mysql/data
    对于xbstream 文件包 (_qp.xb 后缀),使用命令:
     
    ## 解包
    cat <数据备份文件名>_qp.xb | xbstream -x -v -C /home/mysql/data
    ## 解压
    innobackupex --decompress --remove-original /home/mysql/data
     
    说明 -C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。
  12. 执行如下命令,查询解压后生成的文件。
     
    ls -l /home/mysql/data
    
    命令执行成功后,系统会返回如下结果,其中蓝色字体为生成备份文件时RDS实例所包含的数据库。

  13. 执行如下命令,恢复解压好的备份文件。
     
    innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
    
    若系统返回如下类似结果,则说明备份文件已成功恢复到本地数据库。

  14. 为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。
    1. 执行如下命令,以文本方式编辑backup-my.cnf文件。
       
      vi /home/mysql/data/backup-my.cnf
      
    2. 执行如下命令,注释掉如下参数。
       
      #innodb_fast_checksum
      #innodb_page_size
      #innodb_log_block_size
      
       
      说明 如果本地使用的是MyISAM引擎,和阿里云的InnoDB不兼容,需要多注释掉如下参数并增加skip-grant-tables参数:
       
      #innodb_log_checksum_algorithm=strict_crc32
      #redo_log_version=1
      skip-grant-tables
    3. Esc键,然后输入:wq并回车进行保存。
  15. 执行如下命令,修改文件属主,并确定文件所属为MySQL用户。
     
    chown -R mysql:mysql /home/mysql/data
    
  16. 执行如下命令,启动MySQL进程。
     
    mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
    
  17. 执行如下命令,登录MySQL数据库以验证进程启动成功。
     
    mysql -uroot -p<数据库密码>
    
    若系统返回如下结果,进程启动成功,则说明已成功执行参数注释和修改文件属主。

 
 
阿里云代理商凯铧互联提供阿里云服务器/企业邮箱等产品的代购服务,同样的品质,更多贴心的服务,更实惠的价格。 阿里云代理商凯铧互联会为您提供一对一专业全面的技术服务,同时还能为您提供阿里云其他产品购买的专属折扣优惠。通过凯铧互联购买可以获得折上折优惠!若您需要帮助可以直接联系我方客服,阿里云代理商凯铧互联专业技术团队为您提供全面便捷专业的7x24技术服务。 电话专线:136-5130-9831,QQ:3398234753。
 
为什么选择我们:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯等,作为阿里云,腾讯云百度云,金山云,华为云重要的合作伙伴,专注于为企业用户提供云计算及云计算的解决方案。总部设在北京,并在内蒙设有办事处。做为一家综合性方案商,凯铧互联向各行业用户提供基于云计算的各种解决方案。为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评。