参考文档:https://www.percona.com/doc/percona-xtrabackup/2.4/xtrabackup_bin/restoring_individual_tables.html

需要满足的条件:

innodb_file_per_table开启

innodb存储引擎

表有对应的.ibd文件

满足以上条件就可以通过物理备份集生成以表为单位的export文件

测试

物理全备

/usr/local/bin/xtrabackup --defaults-file=/etc/.cnf --user=root --socket=/tmp/.sock --parallel= --backup --target-dir=/data0/sql/.bak

export表:还原,加选项--export

xtrabackup --prepare --export --target-dir=/data0/sql/.bak/
# 如果备份时时加密的,那么还原时还需指定密钥文件,选项--keyring-file-data

查看某个表对应的备份文件

find /tmp/.bak/ -name 't1*'
/data0/sql/.bak/test/t1.frm
/data0/sql/.bak/test/t1.cfg
/data0/sql/.bak/test/t1.exp
/data0/sql/.bak/test/t1.ibd

import 表

# 删除ibd文件
ALTER TABLE test.t1 DISCARD TABLESPACE;
# .cfg文件可以不拷贝并重新授权
cp /data0/sql/20171016.bak/test/t1.* /data0/mysql/3309_test/test/ ll /data0/mysql/3309_test/test/t1.*
-rw-r----- 1 mysql mysql 16384 Oct 16 23:11 /data0/mysql/3309_test/test/t1.exp
-rw-r----- 1 mysql mysql 8676 Oct 16 23:11 /data0/mysql/3309_test/test/t1.frm
-rw-r----- 1 mysql mysql 163840 Oct 16 23:12 /data0/mysql/3309_test/test/t1.ibd # 导入
ALTER TABLE test.t1 IMPORT TABLESPACE;
Query OK, 0 rows affected, 1 warning (0.11 sec)

操作期间遇到的报错

ALTER TABLE test.t1 IMPORT TABLESPACE;
ERROR 1812 (HY000): Tablespace is missing for table `test`.`t1`.
# 是未拷贝ibd文件导致
ALTER TABLE test.t1 IMPORT TABLESPACE;
ERROR 1815 (HY000): Internal error: Cannot reset LSNs in table `test`.`t1` : Tablespace not found
# 是文件未授权导致

Percona XtraBackup 2.4新特性之恢复单个表数据的更多相关文章

  1. xtrabackup 恢复单个表【转】

    一.安装与备份 1. 下载安装XtraBackup$wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/binary/tarba ...

  2. HTML5新特性之文件和二进制数据的操作 Blob对象

    HTML5新特性之文件和二进制数据的操作 1.Blob对象 2.FileList对象 3.File对象 4.FileReader 对象 5.URL对象

  3. Oracle 12C 新特性之 恢复表

    RMAN的表级和表分区级恢复应用场景:1.You need to recover a very small number of tables to a particular point in time ...

  4. Percona XtraBackup的部分备份与恢复/单库备份/单表备份/指定库备份/指定表备份

    本文是翻译的Percona XtraBackup 2.2版的官方文档,原文地址在此:https://www.percona.com/doc/percona-xtrabackup/2.2/innobac ...

  5. MYSQL数据库根据data文件中的.frm和ibd文件恢复单表数据

    数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...

  6. Percona Data Recovery Tool for InnoDB工具恢复单表的案例

    今天上班有个朋友询问我,相关Percona Data Recovery Tool for InnoDB恢复数据中的一些问题,比如说delete,没法恢复数据,原先做过类似的异常处理就,再次模拟了下相关 ...

  7. HTML5新特性之文件和二进制数据的操作

    历史上,JavaScript无法处理二进制数据.如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处 ...

  8. 解决错误:“废弃 document 元素之后的内容”——HTML5新特性,局部样式表

    最近正在学习angularjs,不过本文和angularjs没多大关系.在学习使用route和ng-view使用模版之后,发现view装载之后,firefox都会报个错误“废弃 document 元素 ...

  9. servle 3.0 新特性之一 对上传表单的支持

    1. 上传 * 上传对表单的要求: > method="post" > enctype="multipart/form-data",它的默认值是:a ...

随机推荐

  1. Caused by: java.lang.ClassNotFoundException: org.springframework.boot.system.JavaVersion

    Caused by: java.lang.ClassNotFoundException: org.springframework.boot.system.JavaVersion Invalid pro ...

  2. UVA 1412 Fund Management (预处理+状压dp)

    状压dp,每个状态可以表示为一个n元组,且上限为8,可以用一个九进制来表示状态.但是这样做用数组开不下,用map离散会T. 而实际上很多九进制数很多都是用不上的.因此类似uva 1601 Mornin ...

  3. 51Nod 1007 正整数分组 -简单DP

    题意: 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. N<=100 sum<=100 ...

  4. 数学题 追及相遇—HDOJ1275 人傻需要多做题

    两车追及或相遇问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  5. js获取当前时间的前一天/后一天

    Date curDate = new Date();var preDate = new Date(curDate.getTime() - 24*60*60*1000); //前一天var nextDa ...

  6. CF-1110 (2019/02/08)

    CF-1110 A. Parity 快速幂的思想,考虑最后一位即可 #include <bits/stdc++.h> using namespace std; typedef long l ...

  7. [LUOGU] P1111 修复公路

    题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...

  8. MariaDB数据库(三)

    1. 基本查询 查询基本使用包括:条件.排序.聚合函数.分组和分页. 实例详解查询 1> 创建students表用作实验 MariaDB [testdb]> drop table stud ...

  9. perl学习之:理解贪婪匹配和最小匹配之间的区别

    正则表达式的新手经常将贪婪匹配和最小匹配理解错误.默认情况下,Perl 的正则表达式是“贪婪地”,也就是说它们将尽可能多地匹配字符. 下面的脚本打印出“matched defgabcdef”,因为它尽 ...

  10. Python9-继承1-day24(大年初一)

    #面向对象编程:'''思想:角色的抽象,创建类,创建角色,面对对象的关键字class 类名: 静态属性 = ‘aaa' def __init__(self):pass 类名.静态属性 ———存储在类的 ...