在实际的生产环境中,为了管理方便,我们一般是通过 Xtrabackup实现实例的全库备份,即将实例上的所有数据库备份。

但是,考虑到快速恢复 我们常常面临的需求是快速还原单个数据库。针对初学者来说,网上相关的资料不是很多,以下的测试工作是我们为实现实例的全库备份与按需单库恢复的相关验证。

第一部分数据库测试环境

Step 1创建 四个用户数据库

Step2 四个数据库创建相同的表,插入同样的数据。

执行的代码一样

CREATE TABLE `test` (                                 

          `id` int(11) NOT NULL AUTO_INCREMENT,               

          `str` varchar(255) NOT NULL,                                    

          `state` tinyint(1) unsigned zerofill DEFAULT NULL,  

          `state2` tinyint(2) unsigned zerofill DEFAULT NULL, 

          `state3` tinyint(3) unsigned zerofill DEFAULT NULL, 

          `state4` tinyint(4) unsigned zerofill DEFAULT NULL, 

          PRIMARY KEY (`id`)                                  

        ) 

 

insert into test (str,state,state2,state3,state4) values('csdn',4,4,4,4);

step 3 显示验证前所有数据库

表数据查询显示

第二部分 主要测试步骤和执行命令

Step 1 执行备份命令:

(innobackupex  --defaults-file=/data/mysql/support-files/my_default.cnf  --user=用户 --password=密码 /data/backup/full)

备份目录为: /data/backup/full

Step 2 关闭数据库并删除数据库文件

Step 3 将备份目录中不需要的数据备份文件迁移出去

(本验证案例为 数据库testaa,testbb,testcc )

Step 4 执行恢复命令

(命令如下:innobackupex --defaults-file=/data/mysql/support-files/my_default.cnf  --user=用户 --password=密码 --copy-back  /data/backup/full/2018-04-03_09-42-58

查询结果OK

Step 5 赋予权限

(如果不赋予权限,报错信息:Starting MySQL... ERROR! The server quit without updating PID file (/XXXX/XXXX/XXX/XXXX.pid). 还要留意,需要先还原,让后再赋予权限)

Step 6 重启mysql 服务

第三部分数据验证

1.还原后,查询显示所有的数据,可以看到 数据库testaa,testbb,testcc没有还原。

2.查询还原的数据库,数据正常,和还原前无差异。

以上验证测试说明,可以在数据库全实例备份的基础上实现指定数据库的还原。

通过Xtrabackup实现MySQL实例的全库备份与按需单库恢复的更多相关文章

  1. mysql全量备份与增量备份

    mysql全量备份与增量备份   1.全量备份 全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p456 -S /data/3306/mysql.sock ...

  2. MySQL 採用Xtrabackup对数据库进行全库备份

    1,xtrabackup简单介绍 关于数据库备份以及备份工具.參考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已 ...

  3. MySQL 采用Xtrabackup对数据库进行全库备份

    1,xtrabackup简介 关于数据库备份以及备份工具,参考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已经如 ...

  4. 用Xtrabackup实现MySQL全库备份与恢复

    xtrabackup包含两个主要的工具,即xtrabackup和innobackupex,二者区别如下: (1)xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisa ...

  5. 使用 Xtrabackup 部署 MySQL 从库

    数据库备份和恢复是数据库管理工作中非常重要的一个部分. 笔者常用的两个备份工具是mysqldump (逻辑备份)和 Xtrabackup (物理备份). 对于前者一般是用在凌晨的业务低峰期的定时任务中 ...

  6. 从MySQL全库备份中恢复某个库和某张表【转】

    从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [root@mha2 backup]#mysqldump -uroot -p123456 --default-character-set=u ...

  7. MYSQL双主全库同步复制

    环境: A.B两台服务器分别安装mysql-5.7.18服务端,配置成互为主从同步. linux系统版本为CentOS7 A服务器ip:192.168.1.7   主机名:test1 B服务器ip:1 ...

  8. 从MySQL全库备份中恢复某个库和某张表

    在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-d ...

  9. MySQL用全库备份数据恢复单表数据

    备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个表的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个表只有几十M,但是其它表可能有十几上百G,这时候就需要将需要恢复的表提取出来了 ...

随机推荐

  1. Truncated incorrect DOUBLE value: 'd'的解决方法(jdbc)

    今天写jdbc中dao的增删改查时遇到了一个问题,花费了好长时间,不过还好,有我峰哥出头,问题解决了,在这做个分享,对峰哥表达一下感激之情 网上搜索到的对“Truncated incorrect DO ...

  2. 通信统计接口字段填充内容shell脚本

    现在通信行业上班,最麻烦的就是计算各个协议接口字段填充的内容是否正确.经历了小白似的一个个字段统计在到单个接口所有字段统计,然后到现在的多个接口一次统计.在大大节省了时间的同时,让自己有更充足的时间来 ...

  3. JavaScript 正则表达式全面总结

    本文适合有 JavaScript 基础 && 面向搜索引擎书写正则的人群. 正则表达式是用于匹配字符串中字符组合的模式.正则表达式的模式规则是由一个字符序列组成的.包括所有字母和数字在 ...

  4. VMware虚拟机安装Linux系统

    许多新手连 Windows 的安装都不太熟悉,更别提 Linux 的安装了:即使安装成功了,也有可能破坏现有的 Windows 系统,比如导致硬盘数据丢失.Windows 无法开机等.所以一直以来,安 ...

  5. 设置radio选中

    选中: $('.viewradio:input[name="istop"][value="' + getSelected().istop + '"]').pro ...

  6. Chorme浏览器渲染MathJax时出现竖线的解决方法

    Chorme浏览器渲染MathJax时出现竖线的原因分析与解决方法 查资料知,Chorme中显示MathJax时出现竖线的原因如下: 新版的Chorme浏览器在解析css时,会对其中的值进行向上取整( ...

  7. 【朝花夕拾】Android性能篇之(四)Apk打包

    前言 APK,即Android Package,是将android程序和资源整合在一起,形成的一个.apk文件.相信所有的Android程序员是在IDE的帮助下,完成打包轻而易举,但对打包流程真正清楚 ...

  8. 近期编程总结(i think -1)

    随着“四则运算题”的不断升级,功能实现起来越来越难,需要的知识也越来越多.实现过程中,需要不断地查阅相关资料和与其他人讨论的实现方法. 四则运算2的产生,的确耗费了自己很多的精力,不过反思一下,在不断 ...

  9. 【ASP.NET Core快速入门】(八)Middleware管道介绍、自己动手构建RequestDelegate管道

    中间件是汇集到以处理请求和响应的一个应用程序管道的软件. 每个组件: 可以选择是否要将请求传递到管道中的下一个组件. 之前和之后调用管道中的下一个组件,可以执行工作. 使用请求委托来生成请求管道. 请 ...

  10. Java开发知识之JAVA的反射

    目录 Java中的反射机制 一丶什么是反射机制 二丶Class类,自描述类.获取类名的三种方法 1.使用静态属性Class获取 2.使用Class方法 forName()获取自描述Class 3.使用 ...