阿里RDS数据库 全量备份恢复到本地MYSQL

 

1.首先下载RDS的全量备份

下载完成后上传到服务器备用
 
2.安装MySQL 5.6
首先删除机上其他的MySQL版本
检查系统是否安装其他版本的MYSQL数据
#yum list installed | grep mysql
#yum -y remove mysql-libs.x86_64
 
 
groupadd mysql #添加mysql组
 
useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
 
mkdir -p /home/data/mysql #创建MySQL数据库存放目录
 
chown -R mysql:mysql /home/data/mysql #设置MySQL数据库目录权限
 
下载Linux通用版mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
 
cd /usr/local/src
直接给出下载地址使用wget下载
解压到/usr/local目录,解压即用
 
cd /usr/local/mysql  #进入MySQL目录
 
cp ./support-files/my-defhuge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
 
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加下面一行
 
datadir = /home/data/mysql #添加MySQL数据库路径
 
:wq! #保存退出
 
初始化MySql数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/alidata/mysqldata
执行mysql_install_db命令的时候后面的参数一定要加上,--user代表运行用户,--basedir代表MySql安装目录,--datadir代表数据库数据所在目录,每个人的配置不一样,根据自己的修改一下
 
把Mysql加入系统启动
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 
 
chmod 755 /etc/init.d/mysqld #增加执行权限
 
chkconfig mysqld on #加入开机启动
 
vi /etc/rc.d/init.d/mysqld #编辑
 
basedir = /opt/mysql #MySQL程序安装路径
 
datadir = /home/data/mysql #MySQl数据库存放目录
 
service mysqld start #启动
 
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
 
export PATH=$PATH:/opt/mysql/bin
 
:wq! #保存退出
 
source /etc/profile #生效配置
 
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
 
MySQL密码设置
/usr/local/mysql/bin/mysqladmin -u root -p password "123456"#修改密码
 
service mysqld restart #重启
 
到此,mysql安装完成!
 
3.恢复RDS的全量备份
 
操作系统中已安装数据恢复工具Percona XtraBackup。MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3。MySQL 5.7版本需要安装 Percona XtraBackup 2.4。可以从Percona XtraBackup官网下载安装,安装指导请参见官方文档 Percona XtraBackup 2.3、Percona XtraBackup 2.4。https://www.alibabacloud.com/help/zh/doc-detail/26212.htm
 
阿里的文档说5.6及之前版本需要安装Percona XtraBackup 2.3,我自己按下面的方法安装了 innobackupex version 2.4.12 Linux (x86_64) 可以使用
安装如下
先安装依赖 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
 
 
percona-release-0.1-6.noarch.rpm
$ rpm -ivh percona-release-0.1-6.noarch.rpm
 
yum install percona-xtrabackup-24
安装完成
 
mkdir -p /home/data/mysql2  #新建个数据目录用来存放备份导出数据
 
#解压数据
tar zxf hins4538771_data_20180909031616.tar.gz -C  /home/data/mysql2
 
恢复数据文件
cd /home/data/mysql2
innobackupex --defaults-file=./backup-my.cnf --apply-log ./
 
 系统显示innobackupex: completed OK!,则数据恢复成功。
 修改配置文件。将解压文件 backup-my.cnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size注释掉,并且添加 datadir=/home/data/mysql2,如
下所示。
datadir=/home/data/mysql2 这个数据目录官网说要加实际按我的操作可以不加,可以先加上不影响
 
#修改/etc/my.cnf 把数据目录改成 datadir=/home/data/mysql2
#修改启动脚本中的数据目录
vim /etc/rc.d/init.d/mysqld
 
#进入数据目录,开启MySQL
cd  /home/data/mysql2       #进入数据目录
chown mysql.mysql -R *      #加权限
mysqld_safe &                     #启动MySQL
ps -ef | grep mysql              #查看是否有进程
service mysqld restart         #检查重启是否正常
正常的话你已经可以使用RDS的账号密码登录MySQL了
 
修改下MySQL     root 密码
vim /etc/my.cnf
加入 skip-grant-tables
重启mysql
service mysqld restart 
 
登录并修改MySQL的root密码
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
登录
mysql -u root -h127.0.0.1 -p(password) 
#这边的root限制是只有本地能登录,你可以自己添加需要的远程账户
grant all on *.* to 'user'@'%' identified by 'password';

阿里RDS数据库 全量备份恢复到本地MYSQL的更多相关文章

  1. MySQL innobackupex全量备份恢复

    转自 http://blog.itpub.net/27099995/viewspace-1295099/ 先简单介绍一下这个工具:innobackupexinnobackupex比xtarbackup ...

  2. Linux 网站文件和数据库全量备份 一键脚本(支持FTP,Google Drive)

    原文连接: https://teddysun.com/469.html 此文为转载,建议查看秋水大神的原文,排版更容易查看,另外,建议查看脚本源码,方便了解脚本运行过程, 脚本已测试,大神的脚本一如既 ...

  3. xtrabakcup基本用法 安装、全量备份恢复、增量备份恢复

    xtrabackup备份原理以及工作流程 备份流程日志分析:1.##读取mysql配置文件2.## 扫描innodb日志lsn并复制inndodb系统表空间3.## 缓冲写出到数据文件并锁表4.## ...

  4. RDS数据库全量恢复方案

    一.全量恢复 恢复最近的快照,将快找之前的数据全量恢复 二.增量恢复 下载对应的binlog日志导入到数据库 三.还没有备份的binlog日志获取方法 首先连接 RDS for MySQL 后查看当前 ...

  5. Centos 实战-MySQL定时全量备份(1)

    /usr/bin/mysqldump -uroot -p123456 --lock-all-tables --flush-logs test > /home/backup.sql 如上一段代码所 ...

  6. MySQL定时备份(全量备份+增量备份)

    MySQL 定时备份 参考 zone7_ 的 实战-MySQL定时备份系列文章 参考 zmcyu 的 mysql数据库的完整备份.差异备份.增量备份 更多binlog的学习参考马丁传奇的 MySQL的 ...

  7. 15、xtrabackup 全量备份

    xtrabackup 全量备份与恢复 安装 yum install https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2. ...

  8. 【运维实战】利用tar -g 实现简单全量备份和增量备份(带演示)

    备份产生 全量备份指完全备份,增量备份指针对上次至今的修改进行备份.linux提供tar -g可实现备份功能. 第一次运行 tar -g 备份存放目录/snapshot -czvf  备份存放目录/备 ...

  9. xtrabackup 全量备份、恢复数据

    1.全量备份 [root@localhost lib]##innobackupex --defaults-file=$defaults_file --user=$mysql_username --pa ...

随机推荐

  1. Ceph 调整crush map

    目录 Ceph 调整crush map 1.前言 2.示例 1.创建新的replicated 2.修改当前pool的rule Ceph 调整crush map 1.前言 本文章适用于ceph n版 2 ...

  2. DNS服务和BIND

    今天我们来介绍一下DNS服务,在大家的印象中DNS可能只是将域名解析为IP地址,可能其他的暂时还不太了解,希望本篇内容能帮助大家. 1.什么是DNS? DNS( Domain Name System) ...

  3. DoD与TCP/IP

    DoD与TCP/IP都是协议栈. 什么是协议栈? 就是一套软件,默认安装完Windows就有,可以卸载再安装.把他卸载了,你就不能上网. 数据的封装以及解封装有网卡以及绑定的TCP/IP协议栈完成 A ...

  4. STM32 ID (转)

    STM32唯一ID(Unique Device ID)的读取方法 (转)   每一个STM32微控制器都自带一个96位的唯一ID,也就是Unique Device ID或称为UID,这个唯一ID在任何 ...

  5. Cannot debug in IntellijIdea on Linux

    OS: Deepin LinuxIDE: Intellij IdeaProject: SpringBoot based maven project Issue: cannot debug in Ide ...

  6. Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题

    笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...

  7. JDK源码那些事儿之我眼中的HashMap

    源码部分从HashMap说起是因为笔者看了很多遍这个类的源码部分,同时感觉网上很多都是粗略的介绍,有些可能还不正确,最后只能自己看源码来验证理解,写下这篇文章一方面是为了促使自己能深入,另一方面也是给 ...

  8. Spring-HelloSpring-IOC创建对象的方式

    3.HelloSpring 思考 Hello 对象是谁创建的 ? [ hello 对象是由Spring创建的 ] Hello 对象的属性是怎么设置的 ? [hello 对象的属性是由Spring容器设 ...

  9. mybatis+mysql批量插入和批量更新

    一.批量插入 批量插入数据使用的sql语句是: insert into table (字段一,字段二,字段三) values(xx,xx,xx),(oo,oo,oo) mybatis中mapper.x ...

  10. border-style

    border-style 语法: border-style:<line-style>{1,4} <line-style> = none | hidden | dotted | ...