1、下载备份包

  在rds的备份恢复中点击下载,在弹出的窗口中复制内网下载地址(前提是目标服务器与rds内网互通,否则请复制外网地址)

  在目标服务器中执行如下命令进行下载:

    wget -c '复制的地址' -O mysql-bin.001150.tar.gz

      -c 参数使 wget 工具在连接中断的时候尝试断点续传。

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

2、解压备份文件

  bash rds_backup_extract.sh -f /opt/project/xxxxx.tar.gz -C /home/data

    rds_backup_extract.sh 可在阿里云中下载,也可在通过http://url.cn/4BtvG4t下载。

    /opt/project/xxxxx' .tar.gz 为下载的数据库包路径,/home/data为要解压到的文件夹

3、安装Percona-XtraBackup 工具

      Percona-XtraBackup安装,下载地址为:https://www.percona.com/downloads/XtraBackup/

        

      也可以通过http://url.cn/4Btvndw进行下载

      下载好rpm包后执行:rpm -ivh percona-xtrabackup-2.2.3-4982.el6.x86_64.rpm进行安装

      出现错误的话要安装好依赖包

        yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

3、 恢复数据文件

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

4、修改配置文件

      对恢复后的backup-my.cnf配置文件进行一些修改

[mysqld]

#datadir为恢复的目录

datadir=/home/data
innodb_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1048576000
innodb_undo_directory=.
innodb_undo_tablespaces=0
max_connections=1000
innodb_file_per_table = on
skip_name_resolve = on

symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server=utf8
init_connect='SET NAMES utf8'

5、 启动mysql服务

mysqld_safe --defaults-file=/home/data/backup-my.cnf --user=root --datadir=/home/data &

--defaults-file表示mysql初始化文件,第三步中--defaults-file设置的文件地址

--user 表示启动mysql服务时使用的系统用户,不是mysql数据库用户

--datadir表示数据库存在的路径,对应解压缩的数据库路径

&表示以后台进程的方式运行命令

6、 初始化还原库

    一些密码初始化和授权的操作可参考 yum安装mysql数据库中的4、5步

    可能出现的问题:

       1、初始化数据库密码出问题

          可尝试以下初始化操作

            mysql -u root

            mysql> use mysql;

            mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

            mysql> FLUSH PRIVILEGES;

       2、Column count of mysql.user is wrong

               这能是当前mysql版本和需要恢复数据的mysql版本不一致导致的

            解决方法:mysql_upgrade –u root –p '密码'

总结:

     此种方式阿里云物理备份的还原方式,为整库还原,比较麻烦且耗时。

     如无特别需要,也可通过逻辑备份进行还原

      下载逻辑备份文件通过解压可得到还原的sql文件,如(platform.sql),然后执行

        mysql -u root -p platformdb_back < ./platform.sql  

          -- platformdb_back为还原的目标数据库

        还原后如需对数据库备份可以使用

        mysqldump -u root -p platformdb_back > platform.sql

        

阿里云mysql数据库备份还原的更多相关文章

  1. MySQL数据库备份还原(基于binlog的增量备份)

    MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份      增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...

  2. Android应用通过JDBC直连阿里云MySQL数据库

    1.设置白名单,获取外网连接地址 外部设备要访问阿里云MySQL数据库,则需要设置白名单,具体操作链接: https://help.aliyun.com/document_detail/43185.h ...

  3. 阿里云mysql数据库恢复总结,mysql binlog日志解析

    由于意外..阿里云mysql中有一张表被全部删除了,深吸三口气候,开始解决. 首先用凌晨的自动备份的,进行全量恢复,然后找binlog日志(见下文),查找从全量备份到数据删除之间的记录 这导致了一个问 ...

  4. MySQL数据库备份还原

    本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...

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

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

  6. 使用mysqldump进行mysql数据库备份还原

    mysqldump是mysql自带的备份还原工具,默认在安装目录的bin下 可通过cmd命令行启动,然后运行: 还原一个数据库: mysql -h 主机 -u 用户名 -p密码 数据库名 < 指 ...

  7. Linux下的Mysql数据库备份+还原

    数据库备份: root@debian-mm:/home/debian-mm# mysqldump -u root -p Account > Account.sql Enter password: ...

  8. 数据库工具链接阿里云MySQL数据库

    数据库工具:Toad for MySQL ssh工具:XShell 5 跳板机配置: 配置通道: 源主机:数据库工具链接的地址: 侦听接口:数据库工具侦听接口: 目标主机:数据库阿里云地址: 目标端口 ...

  9. navicat连接阿里云mysql数据库服务器遇到的1130等相关问题

    最近搭建自己的博客网站的时候使用了阿里云的云服务器ESC,搭建了一个mysql数据库,在windows下使用navicat连接mysql的时候,总是连接不上,出现了1130的问题等等错误信息. 下面将 ...

随机推荐

  1. virtual、abstract、interface区别以及用法

    virtual 用于在基类中的使用的方法,使用的情况为:      情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法. ...

  2. shell 查询oracle数据库

    一个需求,做个监控脚本,监控一个表,把数据拉出了,处理一下,组成一个新的脚本,并执行. 直接上脚本: #!/bin/bash VALUE=`sqlplus "scott/trigger@or ...

  3. 860. Lemonade Change

    class Solution { public: bool lemonadeChange(vector<int>& bills) { , ten = ; for (int i : ...

  4. python中的分号

    很多编程语言是以分号作为一行代码的的结束标志,但是在Python中不是这样的,而是靠缩进来识别程序结构. Python中一行代码以分号结束,并不是必须的,准确来说是不被推荐的,因为加上分号就是画蛇添足 ...

  5. python读取文件操作.CSV

    #-*- encoding:utf-8 -*- import numpy as np import pandas as pd def test(): # header=0,表示文件第0行为列索引 # ...

  6. WordPaster2产品介绍

    更新WordParser组件,集成ImagePaster组件功能.完善粘贴剪帖板图片,粘贴电脑图片文件,粘贴word,粘贴excel逻辑. 大幅度优化和精简js代码,js代码行数从1932行减少到97 ...

  7. OkHttp3几个简单的例子和在子线程更新UI线程的方法

    okHttp用于android的http请求.据说很厉害,我们来一起尝尝鲜.但是使用okHttp也会有一些小坑,后面会讲到如何掉进坑里并爬出来. 首先需要了解一点,这里说的UI线程和主线程是一回事儿. ...

  8. (最短路 弗洛伊德) Til the Cows Come Home -- POJ --2387

      #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> ...

  9. 基类的析构函数写成virtual虚析构函数

    虚函数作用:动态绑定,实现多态效果. 场景问题: 派生类中有资源需要回收,而在编程中采用多态,由基类的指针指向派生类,则在释放的时候,如果基类的析构函数不是virtual,则派生类的析构函数得不到释放 ...

  10. Hausdorff Distance(豪斯多夫距离)

    Hausdorff Distance(豪斯多夫距离) 参考博客:http://cgm.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/ma ...