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

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

前提条件

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

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

  • 操作系统中已安装数据恢复工具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.

  • 操作系统中已安装数据备份文件解压工具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. 执行如下命令,解压已下载的数据备份文件。

      说明:本文以自定义路径/home/mysql/data为例,您可以根据实际情况将其替换成实际路径。

       
      1. bash rds_backup_extract.sh -f <数据备份文件名>.tar.gz -C /home/mysql/data  (如果数据库比较大 , 可以在 screen 里执行)

      参数说明:

      • -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 --use-memory=8G   (如果数据比较大, 可以在screen 里执行,设置内存大小加速恢复速度)

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

  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 us

    实际遇到问题:

    mysql 启动不起来 , 更改了 配置文件 
    
    # This MySQL options file was generated by innobackupex.
    
    # The MySQL server
    [mysqld]
    #innodb_checksum_algorithm=innodb
    #innodb_log_checksum_algorithm=innodb
    innodb_data_file_path=ibdata1:200M:autoextend
    innodb_log_files_in_group=2
    innodb_log_file_size=1572864000
    #innodb_fast_checksum=false
    #innodb_page_size=16384
    #innodb_log_block_size=512
    innodb_undo_directory=.
    innodb_undo_tablespaces=0 #rds_encrypt_data=false
    #innodb_encrypt_algorithm=aes_128_ecb
    mysql -uroot  直接登录不了
    
    重置root 密码也不行
    
    用原先rds的高权限账户登录是可以的  

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

  1. 1028阿里RDS如何恢复云数据库MySQL的备份文件到自建数据库

    参照 https://help.aliyun.com/knowledge_detail/41817.html 恢复云数据库MySQL的备份文件到自建数据库 更新时间:2017-07-27 14:52: ...

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

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

  3. 阿里云RDS(云数据库)之产品简介

    参考阿里产品文档:https://docs.aliyun.com/?spm=5176.100054.3.1.ywnrMX#/pub/rds/product-introduce/overview& ...

  4. 阿里云 RDS for MySQL支持什么引擎

    问题:我们的服务器是买的是阿里云,mysql版本5.011 ,本地和服务器配置一样,在本地可以安装discuzX3.4,但是在服务器上却报错了,如下图: 找了半天,才知道阿里云RDS 支持的mysql ...

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

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

  6. 干货 | SSMS客户端连接京东云RDS SQL Server配置方法

    干货 | SSMS客户端连接京东云RDS SQL Server配置方法 原创: 于振江 京东云开发者社区  微软SQL Server, Oracle数据库以及MySQL系列占据了关系型数据库市场的绝对 ...

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

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

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

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

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

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

随机推荐

  1. [转]Java 对象锁-synchronized()与线程的状态与生命周期

      线程的状态与生命周期 Java 对象锁-synchronized() ? 1 2 3 4 synchronized(someObject){   //对象锁 } 对象锁的使用说明: 1.对象锁的返 ...

  2. hihocoder 1523:数组重排2

    题目链接 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个1-N的排列A1, A2, ... AN,每次操作小Hi可以选择一个数,把它放到数组的最左边. 请计算小 ...

  3. (转)资源监控工具Spotlight监测LINUX

    个人1.安装spotlight,Spotlight on Unix2.配置spotlight,注意spotlight默认不能使用root用户进行连接,需要用户自己创建一个具有root权限的用户.(1) ...

  4. 判断终端是ios还是安卓的一些妙用(附加微信分享图标修改)

    最近遇到一个项目 要求有两个icon(就是下载地址 下载安卓的apk  和ios的安装包) 一开始的方案是 什么设备都显示这两个icon 但是后来老大说这样不好   安卓用户给他下载ios 也不行  ...

  5. 【资料】wod书籍

    世界掉落 特点 风化的书卷 可用三次的无限耗材 华丽的书卷 可用5次 无限耗材 队伍唯一 抄录页:新手躲避 近远防御 +34%X技能等级 风化的书卷:新手躲避 华丽的书卷:新手躲避 抄录页:高级闪避技 ...

  6. jQuery EasyUI API 中文文档 - Panel面板

    <html> <head> <title>布局管理器--控制面板</title> <script src="jquery-easyui/ ...

  7. [Android Pro] Android应用性能测试之CPU和内存占用(转载)

    首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基 ...

  8. Linux进程间通信—套接字

    六.套接字(socket) socket也是一种进程间的通信机制,不过它与其他通信方式主要的区别是:它可以实现不同主机间的进程通信.一个套接口可以看做是进程间通信的端点(endpoint),每个套接口 ...

  9. 学习笔记 ST算法

    [引子]RMQ (Range Minimum/Maximum Query)问题: 对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值 ...

  10. Android studio如何导出.so库(NDK开发入门)

    转自:http://blog.csdn.net/ssy_neo/article/details/51758687 项目中用到了硬件调试,google一下拿到了硬件调试的源码,可惜握草so库根本加载不进 ...