首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >XtraBackup工具详解 Part 11 使用innobackupex对部分备份进行恢复

XtraBackup工具详解 Part 11 使用innobackupex对部分备份进行恢复

作者头像
bsbforever
发布2020-08-18 09:55:20
发布2020-08-18 09:55:20
87300
代码可运行
举报
运行总次数:0
代码可运行

实验环境

此次实验的环境如下

  • MySQL 5.7.26
  • Redhat 6.10
  • 操作系统账号:mysql
  • 数据库备份账号:backup

上节我们说了如何进行部分备份,这部分我们说如何对其进行还原

关于还原部分备份,只有一个注意点,即不能使用传统的prepare和copy back命令,需要使用export和import的形式

1. prepare阶段

上节我们介绍了如何使用innobackupex对数据库进行部分备份

结束后我们得到了一个非一致性的备份文件,即需要对未提交的事务进行回滚对提交的事务进行前滚

这个过程在xtrabackup中叫做准备阶段(prepare stage)

对部分备份的数据文件需要加上--export选项

1.1 prepare 备份

使用--apply-log --export 进行恢复动作,相当于Oracle的recover动作

后面接部分备份的目录

如果内存有空闲,可使用--use-memory加快速度

代码语言:javascript
代码运行次数:0
运行
复制
innobackupex --apply-log --export  --use-memory=1G   /oradata/data/mysql/xtra/2019-11-06_10-39-58

在apply-log时候会有如下提示

这是由于为备份这些表,需要从数据字典中删除

这说明已经建立了用于import的文件了

结束后会出现如下提示

代码语言:javascript
代码运行次数:0
运行
复制
150806 01:01:57 InnoDB: Shutdown completed; log sequence number 1609228 150806 01:01:57 innobackupex: completed OK!

这时备份的文件会变成如下形式

每张表新加了cfg和exp文件,这些是我们需要的

2. 导入表

2.1 创建相同结构的表

首先我们需要在新的服务器上建立与需要导入的表相同结构的表

新服务器

代码语言:javascript
代码运行次数:0
运行
复制
use test
 CREATE TABLE `innodb_table` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `name` varchar(20) NOT NULL,
        `age` tinyint(3) NOT NULL,
        PRIMARY KEY (`id`)
    ) ENGINE=innodb DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

2.2 破坏表空间

代码语言:javascript
代码运行次数:0
运行
复制
OTHERSERVER|mysql> ALTER TABLE test.innodb_table DISCARD TABLESPACE;

该命令会删除innodb_table的idb文件,frm文件还在

2.3 导入表

首先拷贝innodb_table的cfg,exp,ibd文件拷贝至数据库目录,即test目录下

代码语言:javascript
代码运行次数:0
运行
复制
OTHERSERVER|mysql> ALTER TABLE test.innodb_table IMPORT TABLESPACE;

3. 参考资料

本专题所有内容翻译子Percona XtraBackup的官方文档

可通过如下链接下载

http://www.zhaibibei.cn/mysql/xtrabackup/tutorial1

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. prepare阶段
    • 1.1 prepare 备份
  • 2. 导入表
    • 2.1 创建相同结构的表
    • 2.2 破坏表空间
    • 2.3 导入表
  • 3. 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档