参考博客:

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. part5 城市页面列表开发

    1.配置路由 先在router文件夹中,创建一个路由.引入组件 { path: '/city', name: 'HelloCity', component: city, meta: { name: ' ...

  2. trove database功能总结

    我曾经以为trove只负责数据库(datastore)的部署,最近才发现trove可以进行数据库(database)的创建. 首先是列出某个实例上(instance)数据库(datastrore)上的 ...

  3. 题解 P1317 【低洼地】

    题目 这题挺简单的,没必要用数组 [分析] 需要判断的是低洼地的数量 通过对题目中图进行分析,显然可以发现低洼地的定义: 若数组中存在一个数值相同的连续区间,这个区间端点外相邻两点的数值都大于该区间的 ...

  4. windows 10 远程连接出现CredSSP加密Oracle修正错误

    以下方法只受用于windows专业版或者企业版 . 解决方法: 运行 gpedit.msc 本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并 ...

  5. github 新建库,提交命令

    Command line instructions You can also upload existing files from your computer using the instructio ...

  6. 通过gitlab的webhook触发Jenkins自动构建设置

    1.Jenkins job中勾选Build when a change is pushed to GitLab 2.Gitlab project 页面setting选择Integrations,配置w ...

  7. Linux 基本操作学习

    Linux 学习 虚拟机 (Virtual Machine) 指通过软件模拟的具有完整硬件系统功能的,运行再一个完全隔离环境中的完整计算机系统 常用 Linux 命令 命令 对应英文 作用 ls li ...

  8. InnoDB和MyISAM区别总结

    原来是MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等 ...

  9. error_reporting() 设置 PHP 的报错级别并返回当前级别

    error_reporting() 设置 PHP 的报错级别并返回当前级别. 语法 error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回.下面 ...

  10. 计蒜客 置换的玩笑(DFS)

    传送门 题目大意: 小蒜头又调皮了.这一次,姐姐的实验报告惨遭毒手. 姐姐的实验报告上原本记录着从 1 到 n 的序列,任意两个数字间用空格间隔.但是“坑姐”的蒜头居然把数字间的空格都给删掉了,整个数 ...