一、安装与备份

1. 下载安装XtraBackup
$wget http://www.percona.com/redir/downloads/XtraBackup/LATEST/binary/tarball/percona-xtrabackup-2.2.5-5027-Linux-x86_64.tar.gz
$tar xf percona-xtrabackup-2.2.5-5027-Linux-x86_64.tar.gz
#cd percona-xtrabackup-2.2.5-Linux-x86_64/bin
#cp * /usr/bin

2. 创建XtraBackup备份用户,只需要RELOAD, LOCK TABLES, REPLICATION CLIENT权限即可
mysql> CREATE USER  'bkpuser'@'localhost' IDENTIFIED BY 's3cret';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

3.建表
Database changed
mysql>  CREATE TABLE `export_test` (
    ->    `a` int(11) NOT NULL,
    ->    `b` int(11) DEFAULT NULL,
    ->    `c` int(11) DEFAULT NULL,
    ->    PRIMARY KEY (`a`),
    ->    UNIQUE KEY `b` (`b`)
    ->  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into export_test values(1,3,5);
Query OK, 1 row affected (0.00 sec)

mysql> select * from export_test;
+---+------+------+
| a | b    | c    |
+---+------+------+
| 1 |    3 |    5 |
+---+------+------+
1 row in set (0.00 sec)

4.innobackupex备份

$innobackupex --defaults-file=/db/mysql5.6/my.cnf -user=bkpuser  -password=s3cret   -socket=/db/mysql5.6/logs/mysql.sock /home/mysqlweb

5. 查看备份大小
$du -sh 2014-10-23_10-23-36/
402M    2014-10-23_10-23-36/

6.准备apply-log
apply-log前的情况
$find . -name 'export_test*'
./export_test.frm
./export_test.ibd

$innobackupex --apply-log --export /home/mysqlweb/2014-10-23_10-23-36

apply-log后,多了exp和cfg文件
$find . -name 'export*'
./export_test.frm
./export_test.ibd
./export_test.exp
./export_test.cfg

二、单表恢复
1.新建表export_test
mysql>  CREATE TABLE `export_test` (
    ->         `a` int(11) NOT NULL,
    ->         `b` int(11) DEFAULT NULL,
    ->         `c` int(11) DEFAULT NULL,
    ->         PRIMARY KEY (`a`),
    ->         UNIQUE KEY `b` (`b`)
    ->       ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.02 sec)

2.丢弃表空间
mysql> ALTER TABLE export_test DISCARD TABLESPACE;      
Query OK, 0 rows affected (0.00 sec)

3.拷贝备份目录中的ibd,cfg,exp 到mysql的datadir目录
mysql> system cp /home/mysqlweb/2014-10-23_10-23-36/test/export_test.{ibd,exp,cfg} /db/mysql5.6/data/test

mysql> system ls /db/mysql5.6/data/test/export_test*
/db/mysql5.6/data/test/export_test.cfg  /db/mysql5.6/data/test/export_test.ibd
/db/mysql5.6/data/test/export_test.frm

4.导入表空间
mysql> ALTER TABLE export_test IMPORT TABLESPACE;
Query OK, 0 rows affected (0.01 sec)

mysql> system ls /db/mysql5.6/data/test/export_test*
/db/mysql5.6/data/test/export_test.cfg  /db/mysql5.6/data/test/export_test.ibd
/db/mysql5.6/data/test/export_test.frm

mysql> select * from export_test;
+---+------+------+
| a | b    | c    |
+---+------+------+
| 1 |    3 |    5 |
+---+------+------+
1 row in set (0.00 sec)

转自

xtrabackup 恢复单个表 - CSDN博客
https://blog.csdn.net/lwei_998/article/details/40394339

Percona XtraBackup的部分备份与恢复/单库备份/单表备份/指定库备份/指定表备份 - CSDN博客
https://blog.csdn.net/zhu19774279/article/details/49681767

Partial Backups
https://www.percona.com/doc/percona-xtrabackup/2.4/innobackupex/partial_backups_innobackupex.html

Restoring Individual Tables
https://www.percona.com/doc/percona-xtrabackup/2.4/innobackupex/restoring_individual_tables_ibk.html

xtrabackup 恢复单个表【转】的更多相关文章

  1. Percona XtraBackup 2.4新特性之恢复单个表数据

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

  2. 基于Xtrabackup恢复单个innodb表

      Preface       We all know that Xtrabackup is a backup tool of percona for innodb or Xtradb.It's us ...

  3. 【理论篇】Percona XtraBackup 恢复单表

    小明在某次操作中,误操作导致误删除了某个表,需要立即进行数据恢复. 如果是数据量较小的实例,并且有备份,即便是全备,做一次全量恢复,然后单表导出导入,虽然麻烦一点,却也花不了多少时间:如果是数据量大的 ...

  4. xtrabackup 恢复单表步骤

    1.apply-log应用redo日志,并导出表的数据字典innobackupex --apply-log --export  备份集 2.建表 如果知道表结构,则重建删除的表 create tabl ...

  5. mysql如何从全备文件中恢复单个库或者单个表

    mysql如何从全备文件中恢复单个库或者单个表 在mysql dba的日常实际工作中,一个实例下有多个库,而我们常见的备份就是全库备份.那么问题就来了,如果需要恢复单个库或者单个表,怎么办了,网上有很 ...

  6. mysqldump恢复指定表

    http://blog.csdn.net/lwei_998/article/details/18860889 如果mysql服务器上不能随意安装软件,当需要从全备份中恢复单个表,怎么办? 1.mysq ...

  7. SQL 备份还原单个表

    如果只想备份或恢复单个表而不想备份或恢复整个数据库的话,往往有以下方法: 1.在Sql server2000 中可以使用DTS来将该表的数据导出成另外的文件格式.当需要恢复时,可以将该文件中数据再通过 ...

  8. 从xtrabackup备份恢复单表

    目前对MySQL比较流行的备份方式有两种,一种上是使用自带的mysqldump,另一种是xtrabackup,对于数据时大的环境,普遍使用了xtrabackup+binlog进行全量或者增量备份,那么 ...

  9. 从完整备份恢复单个innodb表

    现在大多数同学在线上采取的备份策略都是xtrabackup全备+binlog备份,那么当某天某张表意外的删除那么如何从xtrabackup全备中恢复呢?从mysql 5.6版本开始,支持可移动表空间( ...

随机推荐

  1. 关于断言(Assert)

    断言,字面上的意思大致是十分肯定的说,也就是说我们相信这个结果是真的.如果我们的断言不为真,那这个这个结果就和我们预期的结果不一样.在编程上同理,如果程序运行出来的结果和你想要的结果不一致,那你的程序 ...

  2. GitHub和Microsoft TFS对比有什么优势

    GitHub变得越来越流行,最近Github发布了Github for Windows则大大降低了学习成本和使用难度,它甚至优于TFS. 微软也开始逐渐从TFS向GitHub转移了. 不是 TFS 输 ...

  3. C#简述(一)

    详情请参考:http://www.runoob.com/csharp/csharp-tutorial.html 1.C# 是一个简单的.现代的.通用的.面向对象的编程语言,它是由微软(Microsof ...

  4. CentOS下搭建Hadoop

    目录 安装配置jdk 安装Hadoop 下载解压 配置文件 启动hadoop 格式化HDFS 停止hdfs和yarn 参考:Hadoop官网文档 版本:hadoop-3.2.0 安装配置jdk 因ha ...

  5. window.open() & iframe

    window.open() & iframe https://www.w3schools.com/jsref/met_win_open.asp window.open(URL, name, s ...

  6. Delphi实现DBGrid全选和反选功能

    Delphi实现Dbgrid全选和反选.清除全选的功能,不管是在Delphi下,还是在WEB开发中,这种功能都是很实用的,是进行数据批量操作的基础.本模块就是实现了为Delphi的DBGrid数据列表 ...

  7. 【设计模式】—— 代理模式Proxy

    前言:[模式总览]——————————by xingoo 模式意图 代理模式为其他的对象增加一个代理对象,进行访问控制.从而避免直接访问一个对象,造成效率或者安全性上的降低. 应用场景 1 远程代理, ...

  8. scheme 教程 #lang racket

    scheme 教程 #lang racket 来源  https://blog.csdn.net/yemeishenme/article/details/51471037 原文: https://le ...

  9. 自学huawei之路-AC6005-8AP添加授权码

    返回自学Huawei之路 自学huawei之路-AC6005-8AP添加授权码

  10. 【bzoj1069】最大土地面积

    Description 在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大. Input 第1行一个正整数N,接下来N行,每行2个数x,y ...