阿里云rds 备份和还原

转发:https://www.cnblogs.com/lin1/p/8617764.html

转发:https://help.aliyun.com/knowledge_detail/41817.html

1.阿里云数据库备份实例,恢复数据的时候需要将数据恢复到本地数据库,是不能直接恢复到RDS上的。

      2.需要在本地服务器上下载一个数据库,尽量和RDS数据库版本保持一致。(我现在用的是5.6的版本)

      3.这里需要用到xtrabakcup工具进行数据恢复

1,下载5.6版本的数据库

cd /usr/local/src/

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

2,解压

mv /us/local/src/mysql-5.6.36-linux-glibc2.5-x86_64  /usr/local/mysql

 

3,创建数据库用户

useradd -s /sbin/nologin mysql

 

3,安装xtrabakcup工具

获取yum源

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安装xtrabackup需要依赖其他包(这里用的是阿里云的epel源)

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

 

安装工具

yum install percona-xtrabackup

 

 

 

 

4,登录到阿里云的RDS控制台,点击复制外网。

 

 

 

5,下载数据备份文件

wget -c '外网地址' -O /usr/local/src/db.tar.gz 

 

(如果你用的是虚拟机,可能无法解析改外网地址。加个114的dns即可)

 

 

6,将下载的数据备份恢复到本地MySQL数据库中

a,首先下载一个脚本

wget  http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh

 

 

chmod a+x rds_backup.sh 

 

b,解压数据文件

mkdir -p /data/mysql

 

执行命令解压数据文件

 

./rds_backup.sh -f <数据备份文件名>.tar.gz -C /data/mysql

 

 

c,恢复解压好的备份文件

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

 

出现如上图,基本数据恢复完成了。

 

 

7,修改数据库文件属性

chown -R mysql:mysql /data/mysql 

 

 

8,为防止数据库版本问题,还是需要修改/data/mysql/backup-my.cnf的配置文件,将如下配置注释掉。

 

 

9,启动数据库

/usr/local/mysql/bin/mysqld_safe  --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &

10,登录数据库

/usr/local/mysql/bin/mysql -uroot 

上面基本完成数据的恢复。考虑到恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令

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;

阿里云rds 备份和还原的更多相关文章

  1. MongoDB自建和阿里云RDS备份还原

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功 ...

  2. 阿里云RDS备份 恢复到本地

    目录 一.恢复准备 二.具体操作 一.恢复准备 阿里云RDS默认配置了全备份+binlog,可以精准恢复到某个时间点上. 可以下载备份的包到本地,进行本地恢复,要预留好本地的数据库容量和cpu等规格, ...

  3. 阿里云RDS备份的tar格式包恢复到本地自建数据库

    说明 阿里云RDS-mysql数据库是通过percona-Xtrabackup进行备份的,所以恢复时也需要安装该软件. 另外注意的是:你自己下载的MySQL版本要和阿里云上的MySQL版本一致,不然会 ...

  4. 阿里云RDS备份在本地mysql快速还原

    本地准备: ##安装和RDS相同的mysql版本,拿mysql5.6为例 http://www.cnblogs.com/37yan/p/7513605.html ##安装Xtrabackup 包 cd ...

  5. wget下载阿里云RDS备份集

    [root@localhost tmp]# more wget.sh #!/bin/bash download_url=`python /tmp/geturl.py` echo $download_u ...

  6. 本地库还原至阿里云RDS服务器

    在此也感谢阿里云售后兄弟的支持.全文参考 https://help.aliyun.com/document_detail/95738.html? 1. 首先得要有个阿里云账号,已经购买RDS数据库(本 ...

  7. 阿里云RDS数据库备份同步到自建库方法(SHELL脚本)

    一.背景: 由于阿里云RDS生产库每天都需要备份且拷贝到自建读库,而如果使用阿里云的自动拷贝到只读实例, 费用太高, 故采用自编写同步脚本方法实现. 二.前提: 1). 已开通阿里云RDS, 且开启定 ...

  8. 阿里云RDS导入服务器数据库 XtraBackup

    如果是centos系统,默认会开启selinux 一定需关闭selinux 解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=dis ...

  9. 阿里云RDS for SQL Server使用的一些最佳实践

    了解RDS的概念 这也是第一条,也是最重要的一条,在使用某项产品和服务之前,首先要了解该产品或服务的功能与限制,就像你买一个冰箱或洗衣机,通常也只有在阅读完说明书之后才能利用起来它们的所以功能,以及使 ...

随机推荐

  1. Linux命令(自学)

    1.立刻关机: shutdown -h now 2.立刻重启: shutdown -r now reboot 3.注销: logout 4.进入vi编辑器,写一个hello的java程序: vi he ...

  2. oracle中insert 多条数据方法

    oracle中的insert 和 mysql添加多条数据的 方式不太一样 用到的语法: insert all into 表名(需要添加的表字段)values(添加的字段数据一定要对应字段顺序) int ...

  3. Jmeter用于接口测试中【接口耦合关联的实现】

    Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取. 1.打开jmeter, 使用的3.3的版本 ...

  4. UNIX高级环境编程(15)进程和内存分配 < 故宫角楼 >

    故宫角楼是很多摄影爱好者常去的地方,夕阳余辉下的故宫角楼平静而安详.   首先,了解一下进程的基本概念,进程在内存中布局和内容. 此外,还需要知道运行时是如何为动态数据结构(如链表和二叉树)分配额外内 ...

  5. python web编程CGI

    CGI(通用网关接口),CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能. CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行 ...

  6. 35_张孝祥Java高新技术_为注解增加各种属性

    注解的作用之所以那么强大,就是因为它有属性 注解很像接口,属性很像方法.   什么是注解的属性 一个注解相当于一个胸牌,如果你胸前贴了胸牌,就是传智播客的学生,否则,就不是.如果还想区分出事传智播客 ...

  7. NetworkX 图网络处理工具包

    简单介绍 NetworkX is a Python package for the creation, manipulation, and study of the structure, dynami ...

  8. C语言实现输出杨辉三角

    1.倒推法实现输出杨辉三角右半部分,代码如下: #include<stdio.h> int main() { ]; printf("请输入行数n:"); scanf(& ...

  9. [Android自动化] 在 pip-9.0.1 版本情况下安装 uiautomator2 报错的解决办法

    1.在命令窗口中使用命令: pip install uiautomator2 时报 pip 版本过低,需要先升级 pip 版本,理论上会按照提示进行升级 pip 操作,但执行升级命令时到最后却还是报错 ...

  10. 三、git管理修改

    一.修改提交 如下图,Git分工作区和版本库(.git隐藏目录中). 在每次修改后 git add "file name" 其实是把修改内容提交到本地版本库的 暂存区(stage) ...