1.Percona软件介绍; 2.innobackupex的备份与恢复

一, Percona软件

在学习percona软件之前,我们看一下物理备份和mysqldump备份有哪些缺陷.

物理备份的缺点: 跨平台性能差,备份时间长,冗余备份,浪费存储空间;

mysqldump备份的缺点: 效率低,备份和还原速度慢,而且还要锁表;备份过程中,不能实现插入或更新数据.

因此,percona应运而生.

1.percona软件的优势

能实现在线热备份,备份过程中不锁库,不锁表,比较适合我们的实际生产环境.

2.Percona软件的两个组件:

Xtrabackup: C程序,支持InnoDB/XtraDB

Innobackupex: 以Perl脚本封装xtrabackup,还支持MyISAM.

3.常用选项

二, innobackupex备份与恢复

内容概要: 1.完全备份与恢复; 2.增量备份与恢复; 3.单张表格的恢复.

1.数据的完全备份与恢复

备份格式: innobackupex --user 用户名 --password 密码 备份目录名 --no-timestamp

恢复格式: innobackupex --apply-log 目录名 //准备恢复数据

innobackupex --copy-bak 目录名  //恢复数据

innobackupex --copy-bak 目录名 //恢复数据

:

在192.168.4.50上备份数据,在192.168.4.51上恢复数据.

拓扑图:

主机192.168.4.50上备份数据:

50]# innobackupex -uroot -p123qqq...A /root/allbak --no-timestamp    //备份

50]# scp -r /root/allbak root@192.168.4.51:/root/    //上传备份数据到主机4.51

主机192.168.4.51上恢复数据:

51]#rpm -ivh libev-4.15       //安装percona的依赖包

51]#yum -y install percona    //安装percona

51]#systemctl stop mysqld

51]#ls /var/lib/mysql     //查看文档内容

51]#rm -rf /var/lib/mysql/*     //清空文档内容

51]#Innobackupex --apply-log /root/allbak    //准备恢复数据

51]#Innobackupex --copy-back /root/allbak     //恢复数据

51]#ls /var/lib/mysql     //查看数据是否恢复

51]#ls /var/lib/mysql -l     //查看文件目录的所属权限为root

51]#chown -R mysql:mysql /var/lib/mysql    //修改目录的所属权限为mysql

51]#systemctl restart mysqld

mysql -uroot -p123qqq...A     //进入mysql

mysql> show databases; select * from db3.user    //查看数据恢复状况

2.数据的增量备份与恢复

备份格式: innobackupex --user 用户名 --password 密码 --incremental 增量目录 --incremental-basedir=目录名 --no-timestamp

恢复格式: innobackupex --apply-log --redo-only 目录名 --incremental-dir=目录名

例:

在主机192.168.4.50上备份, 在主机192.168.4.51上恢复.

拓扑图:

主机192.168.4.50上备份:

50]#innobackupex --user root --password 123qqq...A /fullbak --no-timestamp     //完全备份数据

50]#ls /fullbak/    //查看备份状况

mysql>insert into db3.user2 values(“tom”);   //增加数据

mysql>insert into db3.user2 values(“jack”);   //增加数据

50]#innobackupex --user root --password 123qqq...A --incremental /new1dir --incremental-basedir=/fullbak --no-timestamp //增量备份1,存储到目录/new1dir

50]#ls /new1dir   //查看备份文件夹

50]#innobackupex --user root --password 123qqq...A --incremental /new2dir --incremental-basedir=/fullbak --no-timestamp //增量备份2,存储到目录/new2dir

50]#ls /new2dir  //查看备份文件夹

主机192.168.4.51上恢复数据:

51]#systemctl stop mysqld

51]#rm -rf /var/lib/mysql/*     //清空目录下的内容

51]# innobackupex --apply-log --redo-only /root/fullbak/     //恢复完全备份的数据

51]#innobackupex --apply-log --redo-only /root/fullbak/ --incremental-dir=/root/new1dir   //恢复第1次增量备份的数据

51]#rm -rf /root/new1dir/    //恢复完成后,清除数据,以免影响其它

51]#innobackupex --apply-log --redo-only /root/fullbak/ --incremental-dir=/root/new2dir  //恢复第2次增量备份的数据

51]#rm -rf /root/new2dir/   //恢复完成后,清除数据,以免影响其它

51]#innobackupex --copy-back /root/fullbak/    //拷贝文件到数据库,完成数据恢复

51]#chown -R mysql:mysql /var/lib/mysql    //修改所属权限为mysql

51]#systemctl restart mysqld

51]# mysql -uroot -p123qqq...A

mysql>show databases;  select * from db3.user2;   //进入数据库查看数据恢复状况

3.单张表格的恢复

以db3库下的user2表为例:

mysql> alter table db3.user2 discard tablespace;   //删除表空间

#innobackupex --apply-log --export  /allbak; (导出后/allbak/db3/目录下会多出两个文件user2.cfg和use2.exp)     //导出表信息

# cp -r /allbak/db3/user2.{cfg.exp,ibd}  /var/lib/mysql/db3/;     //拷贝表信息文件到数据库目录下

#chown mysql:mysql /var/lib/mysql/db3/user2.*     //修改表信息文件的归属权限为mysql

mysql>alter table db3.user2 import tablespace;     //导入表空间

#rm -rf /var/lib/mysql/db3/user2.cfg     //删除数据库下的表信息文件.cfg

#rm -rf /var/lib/mysql/db3/user2.exp     //删除数据库下的表信息文件.exp

Mysql>select * from db3.user2;     //查看表记录

结束.

数据库应用_innobackupex备份与恢复的更多相关文章

  1. ORACLE数据库学习之备份与恢复

     oracle数据库的备份与恢复 第一部分:数据库的备份 备份的必要性 因为各种人为或外界的因素可能会造成数据库中灾难性的数据丢失,为了保证数据库中数据的安全,必须采取备份措施保证RDBMS中包含 ...

  2. ORACLE数据库数据的备份与恢复

    原创作品,转自请在文字开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10052949.html 数据备份恢复在数据库管理中至关重要,今天,总结一下 ...

  3. MySQL数据库的完全备份与恢复

    前言 在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果,正确的数据库操作是实际环境下不可缺少的. 一.数据库备份的分类 1.1 从物理与逻辑的角度,备份的分类 物理备份:对数 ...

  4. 分布式文档存储数据库之MongoDB备份与恢复

    前文我们聊了下mongodb的访问控制以及用户创建和角色分配,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13974656.html:今天我们来了解下mong ...

  5. windows计划任务+批处理文件实现oracle数据库的定时备份与恢复

    1.  备份: PS:2014-1-15 如果导出的dmp数据文件不大的话,就直接每天导出好了,不要只保存七天的数据.然后顶起通过winrar对文件进行打包,我发现dmp文件的压缩包还是很高的. 那么 ...

  6. MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe

    数据库的备份工作是保护数据库正常运行的关键,以下的文章主要讲述的是MySQL数据库备份的一些小妙招,我们大家都知道使用MySQL dump备份数据库的用户所需要的权限相对而言还是比较小的,只需要sel ...

  7. 4. Oracle数据库用户管理备份与恢复

    一. Oracle用户管理备份介绍 Oracle物理备份核心就是将物理文件拷贝一份副本:存放在磁盘上.物理文件指的是:数据文件,控制文件,日志文件,参数文件等等. 根据数据库状态而分:备份可分为热备份 ...

  8. 使用rman迁移数据库到异机

    迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移.使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像.因此,基于此种方式还原恢复的数据库用于测试会使得 ...

  9. mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)

    一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存 ...

随机推荐

  1. jmeter的认识——线程组的认识

    名称:可以给线程组设置一个个性化的命名 注释:可以对线程组添加备注以标记 在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行后续的.停止执行等. 线程数:就是需要设置多少线程执行测试. ...

  2. html 编码与解码

    var HtmlUtil = { /*1.用浏览器内部转换器实现html转码*/ htmlEncode:function (html){ //1.首先动态创建一个容器标签元素,如DIV var tem ...

  3. Oracle PL/SQL开发基础(第三十三弹:EXCEPTION_INIT)

    如果有一些异常并没有异常名称,比如一些ORA-开头的异常并没有一个友好的预定义的异常定义,此时在WHEN子句中无法使用具体的异常名称,必须要使用OTHERS异常处理器进行捕捉.通过EXCEPTION_ ...

  4. Thingworx SDK开发自定义Widget

    Thingworx自带的图表数量有限,样式也很有限,在echarts上看到了这样一个非常简单的图表,下面将做一个简单的静态引入示范 首先创建Thingworx项目 然后右键ui新建widget 自动生 ...

  5. POSIX Threads

    POSIX Threads, usually referred to as pthreads, is an execution model that exists independently from ...

  6. 构造器参数过多时考虑使用构建器(Builder)

    一.静态工厂和构造器的局限性 面对需要大量可选参数才能构建对象时,静态工厂和构造器并不能随着可选参数的增加而合理扩展. 假设创建一个类Person需要使用大量的可选参数,其中两个参数是必填的,剩下的都 ...

  7. [置顶] 献给写作者的 Markdown 新手指南

    作者:http://jianshu.io/p/q81RER 出处:http://jianshu.io/p/q81RER 献给写作者的 Markdown 新手指南 简书 「简书」作为一款「写作软件」在诞 ...

  8. Ansible学习记录四:单命令测试

    0.Ansible的group支持all.通配符(*).IP地址 1.查看Ansible的版本 $  ansbile  --version [root@test ~]# ansible --versi ...

  9. 在join中,on和where的区别

    两个表在,join时,首先做一个笛卡尔积,on后面的条件是对这个笛卡尔积做一个过滤形成一张临时表,如果没有where就直接返回结果,如果有where就对上一步的临时表再进行过滤. 在使用left  j ...

  10. [terry笔记]python内置函数

    总结一下内置函数,Build-in Function. 一.数学运算类 abs(x) 求绝对值 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数注 ...