参照 https://help.aliyun.com/knowledge_detail/41817.html

恢复云数据库MySQL的备份文件到自建数据库

更新时间:2017-07-27 14:52:13

 

云数据库MySQL版使用开源软件Percona Xtrabackup对数据库进行备份,所以您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤。

关于云数据库MySQL版如何备份数据,请参见备份RDS数据

前提条件

  • 本地MySQL数据库安装在64位的Linux系统中,且与云数据库MySQL版的版本相同。

    说明:由于软件限制,目前只支持将云数据库MySQL的备份文件恢复到安装在Linux系统中的自建MySQL数据库中。但在Linux下恢复的数据文件,可以在Windows和Linux操作系统中正常使用。

  • 操作系统中已安装数据恢复工具Percona XtraBackup 2.2.9或以上版本。若未安装,请从Percona XtraBackup官网下载,安装指导请参见官方文档

  • 操作系统中已安装数据备份文件解压工具rds_backup_extract.sh。若未安装,请点击下载

操作步骤

  1. 获取数据备份文件下载地址,具体操作步骤如下。

    1. 登录RDS管理控制台

    2. 选择目标实例所在地域。

    3. 单击目标实例的ID,进入基本信息页面。

    4. 在左侧导航栏中,选择备份恢复,进入备份恢复页面。

    5. 选择数据备份标签页。

    6. 选择查询的时间范围,然后单击查询

    7. 在数据备份列表中,找到要下载的数据备份,并单击其对应的下载,如下图所示。

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

  2. 下载数据备份文件,具体操作步骤如下。

    1. 登录云服务器ECS。

    2. 执行如下命令,下载数据备份文件。

      1. wget -c '<数据备份文件外网下载地址>' -O <自定义文件名>.tar.gz

      参数说明:

      • -c:启用断点续传模式。

      • -O:将下载的结果保存为指定的文件(建议使用URL中包含的文件名)。

        说明:若提示显示100%进度,则表示文件下载完成。

  3. 将下载的数据备份恢复到本地MySQL数据库中,具体操作步骤如下。

    1. 执行如下命令,解压已下载的数据备份文件。

      1. bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/mysql/data

      参数说明:

      • -f:指定要解压的备份集文件。

      • -C:指定文件要解压到的目录。可选参数,若不指定就解压到当前目录。

    2. 执行如下命令,查询解压后生成的文件。

      1. ls -l /home/mysql/data

      命令执行成功后,系统会返回如下结果,其中蓝色字体为生成备份文件时RDS实例所包含的数据库。

    3. 执行如下命令,恢复解压好的备份文件。

      1. innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data

      若系统返回如下类似结果,则说明备份文件已成功恢复到本地数据库。

  4. 为避免版本问题,需修改backup-my.cnf参数,具体操作步骤如下。

    1. 执行如下命令,以文本方式编辑backup-my.cnf文件。

      1. vi /home/mysql/data/backup-my.cnf
    2. 执行如下命令,注释掉如下参数。

      1. #innodb_fast_checksum
      2. #innodb_page_size
      3. #innodb_log_block_size
    3. Esc键,然后输入:wq进行保存并关闭编辑器。

  5. 执行如下命令,修改文件属主,并确定文件所属为MySQL用户。

    1. chown -R mysql:mysql /home/mysql/data
  6. 执行如下命令,启动MySQL进程。

    1. mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
  7. 执行如下命令,登录MySQL数据库以验证进程启动成功。

    1. mysql -uroot

    若系统返回如下结果,进程启动成功,则说明已成功执行参数注释和修改文件属主。

  8. 恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令。

    1. delete from mysql.db where user<>’root’ and char_length(user)>0;delete from mysql.tables_priv where user<>’root’ and char_length(user)>0;flush privileges;

1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库的更多相关文章

  1. 恢复云数据库MySQL的备份文件到自建数据库遇到的报错

    报错信息 : 恢复云数据库MySQL的备份文件到自建数据库,自建数据库版本5.6.36. 按照阿里云文档操作,启动数据库报错 -- :: [ERROR] /application/mysql/bin/ ...

  2. 恢复阿里云RDS云数据库MySQL的备份文件到自建数据库

    云数据库MySQL版使用开源软件Percona Xtrabackup对数据库进行备份,所以您可以使用该软件将云数据库MySQL的备份文件恢复到自建数据库中,本文将介绍详细的操作步骤. 关于云数据库My ...

  3. 阿里RDS备份恢复

    未使用root用户操作: 数据库版本要一致 数据目录:/data/mysqlbak/ 先按阿里给的步骤操作,最后出现一步出现,无法找到back_xxx.conf,但该文件已经存在.解决方法: sudo ...

  4. RDS for MySQL 逻辑备份文件恢复到自建数据库

    使用MySQL自带的 mysqldump 工具可以通过逻辑备份文件恢复数据库,本文将介绍详细的逻辑备份恢复数据库操作步骤. 说明 通过物理备份文件恢复到自建数据库请参见RDS for MySQL 物理 ...

  5. mysql操作入门基础之对数据库和表的增删改查

    一.数据库管理-- 1.登陆数据库 mysql -u root -p; -- 2.查看数据库服务器所有数据库 SHOW DATABASES; -- 3.创建数据库 CREATE DATABASE My ...

  6. 数据库 : Mysql - 日常应用

    #登录MYSQL数据库 MYSQL -u root -p #显示所有数据库 SHOW databases; #显示当前数据库与应用程序间进行了多少条连接 SHOW processlist; #使用某一 ...

  7. mysql远程连接只显示部分数据库问题

    项目变更了环境,数据库换了环境,所以用navicat连接数据库,结果只能看到部分数据库. 看下高级设置,就只有两个库. 表示很奇怪,难道我的ip被禁止了吗,进入服务器查看连接用户权限 1. 首先查看服 ...

  8. 阿里云RDS数据库备份文件恢复到本地mysql数据库

    一.安装mysql和xtrabackup  (1)安装mysql 因为RDS是5.6版本,所以我们本地的mysql数据库要与RDS版本对应. rpm -ivh http://repo.mysql.co ...

  9. 阿里云 RDS for MySQL 物理备份文件恢复到自建数据库

    想把阿里云的Mysql 生成的RAS 文件.tar文件 恢复到本地自建mysql, 遇到的坑.希望帮助大家 阿里云提供的地址 https://help.aliyun.com/knowledge_det ...

随机推荐

  1. KVM之五:KVM日常管理常用命令

    1.查看.编辑及备份KVM 虚拟机配置文件 以及查看KVM 状态: 1.1.KVM 虚拟机默认的配置文件在 /etc/libvirt/qemu 目录下,默认是以虚拟机名称命名的.xml 文件,如下,: ...

  2. Jmeter中正则表达式提取器使用详解

    在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...

  3. 解决Oracle登录时出现无法处理服务名问题

    1.首先找到客户端的tnsnames.ora文件,打开看看里面有没有配置相应的服务器名,服务器名就是你的数据库名: 2.如果有相应的服务器名,那就检查一下配置信息是否错误,如果没有就添加: 3.配置信 ...

  4. CSS奇思妙想图形(心形、气泡三角形、切角、梯形、饼图等)

    今天看到一篇不错文章,在原来CSS3图形创建基础上扩展了很多. 这里记录总结下 心形 原理:利用 圆形 和 正方形实现 HTML: <div class="heartShaped&qu ...

  5. 记录一个古老的Sql分页过程

    /* 根据单位ID获取排班信息 For:WXX TIme:2017-11-22 */ ALTER proc [dbo].[proc_ScheduleInfo] )='', --单位ID )='', - ...

  6. mui手机图片压缩上传+C#

    前台参考网址:http://www.bcty365.com/content-146-3263-1.html <html> <head> <meta charset=&qu ...

  7. Git详细教程(2)---多人协作开发

    Git可以完成两件事情: 1. 版本控制 2.多人协作开发 如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发. 如果有多个开发人员共同开发一个项目,如何进行协作的呢. Git提供了一个非 ...

  8. fetch()函数使用的一些技巧

    最近项目用到了一些es6的知识,其中大篇幅在vue框架中使用了fetch()函数,总结了一些使用的技巧: 一, 1,POST带参数)fetch提交json格式的数据到服务器: //fetch替换vue ...

  9. 201621123057 《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 在上一周的总结上做了一点补充 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1. ...

  10. java中<> 的用法

    泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言引 ...