数据库应用_innobackupex备份与恢复
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备份与恢复的更多相关文章
- ORACLE数据库学习之备份与恢复
oracle数据库的备份与恢复 第一部分:数据库的备份 备份的必要性 因为各种人为或外界的因素可能会造成数据库中灾难性的数据丢失,为了保证数据库中数据的安全,必须采取备份措施保证RDBMS中包含 ...
- ORACLE数据库数据的备份与恢复
原创作品,转自请在文字开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10052949.html 数据备份恢复在数据库管理中至关重要,今天,总结一下 ...
- MySQL数据库的完全备份与恢复
前言 在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果,正确的数据库操作是实际环境下不可缺少的. 一.数据库备份的分类 1.1 从物理与逻辑的角度,备份的分类 物理备份:对数 ...
- 分布式文档存储数据库之MongoDB备份与恢复
前文我们聊了下mongodb的访问控制以及用户创建和角色分配,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13974656.html:今天我们来了解下mong ...
- windows计划任务+批处理文件实现oracle数据库的定时备份与恢复
1. 备份: PS:2014-1-15 如果导出的dmp数据文件不大的话,就直接每天导出好了,不要只保存七天的数据.然后顶起通过winrar对文件进行打包,我发现dmp文件的压缩包还是很高的. 那么 ...
- MySQL数据库自带备份与恢复工具:MySQLdump.exe与mysql.exe
数据库的备份工作是保护数据库正常运行的关键,以下的文章主要讲述的是MySQL数据库备份的一些小妙招,我们大家都知道使用MySQL dump备份数据库的用户所需要的权限相对而言还是比较小的,只需要sel ...
- 4. Oracle数据库用户管理备份与恢复
一. Oracle用户管理备份介绍 Oracle物理备份核心就是将物理文件拷贝一份副本:存放在磁盘上.物理文件指的是:数据文件,控制文件,日志文件,参数文件等等. 根据数据库状态而分:备份可分为热备份 ...
- 使用rman迁移数据库到异机
迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移.使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像.因此,基于此种方式还原恢复的数据库用于测试会使得 ...
- mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)
一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存 ...
随机推荐
- HDU 1257 最少拦截系统【最长上升子序列】
解题思路:可以转化为求最长上升子序列来做,还是可以用an与按升序排列后的an求LCS来做,为防止超时,用滚动数组优化一下就可以了. 最少拦截系统 Time Limit: 2000/1000 MS (J ...
- ZBrush中绘制层是什么意思?
我们经常使用笔刷雕刻模型,在使用笔刷为头部模型添加一些纹理效果时,有时可能会有不满意的地方,但是很难修改,也很难把它还原为原来的状态,这时我们就可以使用Layers(绘制层)来将雕刻的部分分到每一个层 ...
- day19-2 生成器,递归函数
目录 生成器 有关yield的理解 实现range()函数 生成器表达式 递归 思考 斐波那契额 汉诺塔 二分法 生成器 自定义的迭代器 yield关键字: 和return一样,接收值,但不终止函数 ...
- map————两个数组的交集(2)
class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int> ...
- CF949B A Leapfrog in the Array 思维题,推理
题意: Dima是一名初级程序员. 在他的工作中,他经常不断地重复以下操作:从数组中删除每个第二个元素. 有一天,他对这个问题的解决方案感到厌倦,他提出了以下华丽的算法. 假设有一长度为2n的数组,最 ...
- css——样式的优先级
样式的优先级 在p中有id,class,标签,行内样式,它们的优先级: 1.id 样式>class样式>标签样式 2.行内样式>内嵌样式>外部样式 强制优先级 比如我希望上面的 ...
- python--csv文件读写
最近刚注册了kaggle账号,练习了下简单的knn算法用于手写数字识别.下载的训练和测试文本都是使用csv文件存储的,所以在此重拾下csv模块. csv文件 csv全称(Comma-Separated ...
- [转载] C 陷阱与缺陷( C traps and Pitfalls )
本文转自 https://www.xuebuyuan.com/1951579.html 自己找工作过程中复习过的书包括<C traps and Pitfalls>,<编程珠玑> ...
- ucore_lab0
一直想好好学习一下操作系统课程,去一个Mooc网站上找了一门操作系统的课程.这便是里面的配套实验. 实验指导:点这里 lab0主要是准备相关的操作环境.课程推荐使用qemu作为硬件模拟器,推荐运行环境 ...
- ES6重点知识点总结(2)
ES6重点知识点总结(2) call和apply的作用是什么?区别是什么? call和apply的功能基本相同,都是实现继承或者转换对象指针的作用: 唯一不通的是前者参数是罗列出来的,后者是存到数组中 ...