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. Java NIO(六)选择器

    前言 Selector选择器是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件.这样使得一个单独的线程可以管理多个Channel,从而管理多个网络连接.选择 ...

  2. vc6中关于“新建”

    1.windows api 编程:新建→工程→Win32 Application→一个空工程→新建→文件→C++ Source File2.windows mfc 编程:新建→工程→MFC AppWi ...

  3. Java操作Kafka执行不成功

    使用kafka-clients操作kafka始终不成功,原因不清楚,下面贴出相关代码及配置,请懂得指点一下,谢谢! 环境及依赖 <dependency> <groupId>or ...

  4. asp.net中Server.MapPath的使用

    http://www.studyofnet.com/news/184.html   本文导读:Server.MapPath()的全名是System.Web.HttpContext.Current.Se ...

  5. 如何使用pgpool failover_stream.sh自己控制选择指定的master节点

    集群架构: h236:master h237:standby sync h238:standby sync h239:stadnby async h240:standby async h241:sta ...

  6. 杭电 2639 Bone Collector II【01背包第k优解】

    解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解, 即为取的是f[v],f[ ...

  7. 工作需求——VBA操作打印机

    因为最近做的事情比较多,平时也多用EXCEL,所以顺便学习EXCEL的功能性的东西 转载:https://msdn.microsoft.com/zh-tw/vba/excel-vba/articles ...

  8. es6——map-set与对象对比

    {    //map,set,object对比    let item={t:1};    let map=new Map();    let set=new Set();    let obj={} ...

  9. 密信(MeSince),将取代传统电子邮件

    电子邮件发展至今已经有几十年的历史,但仍然是最重要的现代互联网应用之一.在全球范围内,每小时发送的非垃圾邮件数量超过30亿封,从工作场景的使用到个人生活,电子邮件都扮演着不可或缺的角色.但是由于明文电 ...

  10. [BOI2007]摩基亚

    题目:洛谷P4390.BZOJ1176. 题目大意: 给你一个\(W\times W\)的矩阵,初始每个数都为\(S\).现在有若干操作: 1. 给某个格子加上一个值:2. 询问某个子矩阵的值的和:3 ...