参考博客:

https://blog.csdn.net/a18838964650/article/details/82800621  安装qpress软件

https://www.cnblogs.com/pangchunyu/p/11422830.html  文章介绍补充

https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186631.2.1.434247acfAIAwYhttps://home.firefoxchina.cn  阿里云rds的xb文件恢复到本地数据库

https://blog.csdn.net/anonymking/article/details/79589623  解决MySQL 恢复数据库表时提示 table “xxx” doesn`t exist

安装qpress

链接:https://pan.baidu.com/s/1njNRz3qSc0pYYSjbEzSI_Q
提取码:1nxe

yum -y localinstall  percona-xtrabackup-2.3.5-1.el7.x86_64.rpm
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

[root@iZwz9hn15mpmruiq1jq28rZ data]# vim /etc/yum.repos.d/percona-release.repo
[percona-release-$basearch]
name = Percona-Release YUM repository - $basearch
baseurl = http://repo.percona.com/release/$releasever/RPMS/$basearch
enabled = 1
gpgcheck = 0   这里写成不检查
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Percona

[root@iZwz9hn15mpmruiq1jq28rZ data]# yum -y install qpress-11-1.el7.x86_64

创建数据恢复目录并恢复数据

解包:
cat hins9028927_data_20190927033738_qp.xb |xbstream -x -v -C /data/mysql/data/
解压:
innobackupex --decompress --remove-original /data/mysql/data/

执行如下命令,查询解压后生成的文件
ll /data/mysql/data/

执行如下命令,恢复解压好的备份文
innobackupex --defaults-file=/data/mysql/data/backup-my.cnf --apply-log /data/mysql/data/

查看本地数据库的数据目录位置:

自建数据库不支持如下参数,需要注释掉。

[root@iZwz9hn15mpmruiq1jq28rZ mysql]# vim /data/mysql/data/backup-my.cnf

# 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
skip-grant-tables

rds_encrypt_data=false
innodb_encrypt_algorithm=aes_128_ecb

授权数据目录

chown -R mysql:mysql /data/mysql/data/
重启数据库
systemctl restart mysqld

注意:

一、数据备份:
1、完整备份:把 datadir 对应的 datadir 直接拷贝就可以
2、部分备份:data 文件夹下的文件夹都表示一个表,可以单独备份
二、部分备份出现问题:
1、类型是 MyISAM 的表对应数据文件是 "xxx.frm"、"xxx.MYD"、"xxx.MYI",这种情况下直接拷贝没有问题。
2.1、类型是 InooDB 的表对应数据文件是 "xxx.frm",而这种情况下直接拷贝就出现问题了 -- “table “xxx” doesn`t exist”。
2.2、解决办法:  InnoDB 数据库表拷贝是注意要把data文件夹下的 ibdata1 也同时拷贝过去  若还是出现问题的话就把新的data文件夹下的 ib_logfile* 文件删除掉,或者说带着 ib_logfile*
文件也一起拷贝  最后记得启动MySQL服务就可以了

有时候需要知道默认的5.6版本用的是MyIsam引擎,而rds5.6使用的默认是innodb引擎,所以需要在配置文件中注明,需要和rds保持一致!!!

把需要的库直接复制过去到原来的mysql目录,即/var/lib/mysql下面,此时查看下db目录数据是否恢复,如果是显示 “table “xxx” doesn`t exist”,就是用上面注意里的方法解决即可。

cd /var/lib/mysql
mv ibdata1 /haha/
mv ib_logfile* /haha/

cd /data/mysql/data
mv db/ /var/lib/mysql
重启数据库
systemctl restart mysqld

 此时是用navicat连接之后查看数据是否恢复,如下图:

这样数据终于恢复了,哈哈

总结:

这样的数据只能在本地恢复,如果之前本地有很多的数据库,那么不建议这样做,要不然整个数据库就崩了。

  

  

RDS的xb文件恢复到本地mysql5.6版本数据库的更多相关文章

  1. RDS的tar文件恢复到本地mysql5.7版本数据库

    参考博客: 安装qpress软件 https://blog.csdn.net/a18838964650/article/details/82800621 文章介绍补充 https://www.cnbl ...

  2. 使用mysql5.7版本数据库需要注意的地方/持续更新

    数据库mysql 5.7版本的初始密码修改 安装完后实在是找不到初始密码的文件,后面发现再错误日志中 先关闭mysql pkill mysqld 安全模式启动数据库并修改密码 mysqld_safe ...

  3. 使用xb文件恢复mysql数据

    1.安装工具Percona XtraBackup MySQL 5.6及之前的版本需要安装 Percona XtraBackup 2.3,安装指导请参见官方文档Percona XtraBackup 2. ...

  4. mysql5.6版本数据库向Mysql5.7版本的数据库更新数据

    timestamp 类型不允许 timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', 创建表的是后会报异常,解决方法是: 在my.cnf文件里面假如: s ...

  5. thinkphp连接mysql5.5版本数据库

    //数据库配置信息 'DB_TYPE' => 'mysqli', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => ' ...

  6. python自动化测试之mysql5.0版本数据库查询数据时出现乱码问题分析

    1.确保数据库编码是utf8编码.若不是,请将my.ini的client,mysql,mysqld三个字段下面添加default-character-set = utf8,这样可以永久改变在新建数据库 ...

  7. Linux CentOS6环境下MySQL5.1升级至MySQL5.5版本过程

    转载地址:http://www.laozuo.org/6145.html 老左今天有在帮朋友的博客搬迁到另外一台VPS主机环境,其环境采用的是LLSMP架构的,原先的服务器采用的是LNMP网站环境,其 ...

  8. 使用mysql5.7版本的mysqldump备份mysql8.0版本的数据库报错解决办法

    使用mysql5.7版本的mysqldump命令执行备份mysql8.0版本的数据库时会报错: mysqldump: Couldn't execute 'SET SQL_QUOTE_SHOW_CREA ...

  9. 阿里云rds实例恢复到本地

    摘要: 前提: 1,阿里云数据库备份实例,恢复数据的时候需要将数据恢复到本地数据库,是不能直接恢复到RDS上的. 2,需要在本地服务器上下载一个数据库,尽量和RDS数据库版本保持一致.(我现在用的是5 ...

随机推荐

  1. SeetaFaceQt:Qt多线程

    为什么要做多线程,说个最简单的道理就是我们不希望在软件处理数据的时候界面处于无法响应的假死状态.有些处理是灰常花时间的,如果把这样的处理放到主线程中执行,就会导致软件一条路走到底,要等到处理完才能接收 ...

  2. vue select框change事件

    vue Select 中< :label-in-value="true" @on-change="satusSelect"> satusSelect ...

  3. (2)MongoDB副本集自动故障转移全流程原理

    前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的replica set均在主节点读写,辅助节点冗余部署,形成高可用和备份, 具备自动故障转移的能 ...

  4. Java时间格式化年-月-日-时间

    Date d = new Date(); System.out.println(d); //Sat Mar 16 20:58:56 CST 2019 System.out.println(d.toLo ...

  5. Linq------连表查询

    1 List<Student> list = new List<Student>() { ,sex="男"}, ,sex="男"}, , ...

  6. Git 报错:Updates were rejected because the tip of your current branch is behind

    刚开始学习 git 命令,发现会出现很多的错误,所以就总结下出现的错误,以此来加深理解和掌握吧! 环境:在本地库操作了一系列的 add 和 commit 操作后,想把本地仓库推送到远端,但是发生以下错 ...

  7. UOJ #2 【NOI2014】起床困难综合症

    这道题我们设两个bitset(N和Y) \(N_i = cal(i,0) , Y_i=cal(i,1)\) cal(i) 即第i位经过题目中的计算后所得出来的值 然后贪心.倒序循环i,考虑第i位如何决 ...

  8. 理解浮动和position定位(转)

    前言 为了更好理解浮动和position,建议先看看我写的这篇文章<Html文档流和文档对象模型DOM理解> 正文 一.浮动 CSS设计float属性的主要目的,是为了实现文本绕排图片的效 ...

  9. linux目录和安装目录学习

    我一般会在/opt目录下创建 一个software目录,用来存放我们从官网下载的软件格式是.tar.gz文件,或者通过 wget+地址下载的.tar.gz文件 执行解压缩命令,这里以nginx举例 t ...

  10. neo4jcypher基本语句

    create (:患者)-[rl:likes]-> (dept:Dept ) ///////////////关系 (STARTNODE)MATCH (video1:YoutubeVideo1)- ...