mysql备份工具_mysql备份工具_幻想之都的博客-程序员宅基地

技术标签: mysql备份工具  

备份还原脚本及工具

1)Xtrabackup实现是物理备份,而且是物理热备

目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup;ibbackup是商业软件,需要授权,非常昂贵。而xtrabackup功能比ibbackup还要强大,但却是开源的。

2)Xtrabackup提供了两种命令行工具:

xtrabackup:专用于备份InnoDB和XtraDB引擎的数据;

innobackupex:这是一个perl脚本,在执行过程中会调用xtrabackup命令,这样用该命令即可以实现备份InnoDB,也可以备份MyISAM引擎的对象。

二 演示步骤

首先 解压安装包

b4a95221a9dcc520f17ee86d49502194.png

复制bin下的所有程序到/usr/bin

3582fb82e8b6016cd5cdb0ded38a8d4f.png

Xtrabackup中主要包含两个工具:

xtrabackup:是用于热备份innodb, xtradb表中数据的工具,支持在线热备份,可以在不加锁的情况下备份Innodb数据表,不过此工具不能操作Myisam引擎表;

innobackupex:是将xtrabackup进行封装的perl脚本,能同时处理Innodb和Myisam,但在处理Myisam时需要加一个读锁。

3)安装插件 使用yum

yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5–y

ffc087548b060f855324a47cd0eb5ad2.png

方案一:xtrabackup完全备份+binlog增量备份

创建备份目录

e9ac843ede60818b4a4d37831c081d57.png

完全备份

innobackupex --user=root --password=123456 /opt/mysqlbackup/full  出现OK完成

注:--defaults-file=/etc/my.cnf指定mysql的配置文件my.cfg,如果指定则必须是第一参数。

b0f355500838e4e76a1955cca24b6321.png

备份数据库会会在备份目录下创建当前日期为名字的目录存放

15b18dc6c1430c6b87a211004f937788.png

文件说明

(1)xtrabackup_checkpoints ——备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息;

每个InnoDB页(通常为16k大小)都会包含一个日志序列号(2)xtrabackup_binlog_info——mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置。

(3)xtrabackup_binlog_pos_innodb ——二进制日志文件及用于InnoDB或XtraDB表的二进制日志文件的当前position。

(4)xtrabackup_binary ——备份中用到的xtrabackup的可执行文件;

(5)backup-my.cnf ——备份命令用到的配置选项信息;

在使用innobackupex进行备份时,还可以使用--no-timestamp选项来阻止命令自动创建一个以时间命名的目录。

注意:备份数据库的用户需要具有相应权限,如果要使用一个最小权限的用户进行备份,则可基于如下命令创建此类用户:

d98961174262ef5c8414ccc8e6006282.png

b00b3685c9c1d68b487d40ec00f52859.png

至此全备完全成功,然后向mysql某个库插入几条数据,然后进行增量备份对完全备份的后数据库更改进行二进制日志增量备份:

查看完全备份时binlog日志位置(position)

ad556144562d67b1b6700414f7d6ca0b.png

模拟修改数据库

8877a5f31eb07b9633038adc815caabc.png

增量备份二进制文件

2ccdce0446ed9985082a98ab805a39a9.png

2 还原数据库二进制文件

首先 模拟吧data文件删除或者转移,然后进行完全备份还原

innobakupex命令的--apply-log选项可用于实现上述功能。--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中:

45c1ccc24518df50b468533672cf3433.png

还原数据库语法:

# innobackupex --copy-back /opt/mysqlbackup/full/2016-09-12_11-29-55/

这里的--copy-back指明是进行数据恢复。数据恢复完成之后,需要修改相关文件的权限mysql数据库才能正常启动。

还原数据库语法

da1b90a907185ddb9259f324a247243c.png

data 已经成功还原  重新启动mysql

02dd95617ebc9886c07b58f40e735925.png

需要确保所有数据文件属主和属组

c679513ccdf656d9f1d6a08c512953dd.png

还原成功 但是增量备份还没有成功

472e54a669ad96ab9bfde43126b27c94.png

为了防止还原时产生大量的二进制日志,在还原时可临时关闭二进制日志后再还原:

mysql> set sql_log_bin=0;

mysql> source /opt/mysqlbackup/inc/2016-09-12.sql

还原成功 数据成功恢复

43187e24588abbbe76d2c185692429ab.png

9ee6df73519997ac5d2b5b928e53d1ae.png

重新启动二进制日志  set sql_log_bin=1;

27f65c22b52cc161fc9f1463cf7c7a0d.png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33683108/article/details/113117057

智能推荐

Dockerfile中各指令含义与使用方法及区别_不羡鸳鸯丶不羡仙的博客-程序员宅基地

今天如约给各位小伙伴带来Dockerfile中各指令含义与使用方法及区别,废话不多说,直接上干货!!每条命令下方的文字为命令的解释注释!!FROM指定基础镜像,dockerfile中第一条也必须是第一条命令,同一个Dockerfile中有多个镜像时,可以指定多个FROMMAINTAINER此dockerfile的维护者RUN两种格式,RUN command或...

07-项目训练_流程与快递表格创建~Express Service编写_&再见萤火虫&的博客-程序员宅基地

完整项目在这里实时更新<( ̄︶ ̄)[GO!]:https://github.com/GoodbyeFirefly/ExpressManagementSystem一,主要流程二,编码过程1,创建数据库表格CREATE TABLE express( id INT PRIMARY KEY auto_increment, number VARCHAR(64) UNIQUE, username VARCHAR(32), userphone VARCHAR(32),...

Java并发包探秘 (一) ConcurrentLinkedQueue_weixin_34009794的博客-程序员宅基地

本文是Java并发包探秘的第一篇,旨在介绍一下Java并发容器中用的一些思路和技巧,帮助大家更好的理解Java并发容器,让我们更好的使用并发容器打造更高效的程序。本人能力有限,错误难免。希望及时指出。 Java并发包中有很多精心设计的高并发容器。有ConcurrentHashMap、ConcurrentSkipListMap 、ConcurrentLinkedQueue等。Concurren...

Windows API Hook_bruce135lee的博客-程序员宅基地

前言本文主要介绍了如何实现替换Windows上的API函数,实现Windows API Hook(当然,对于socket的Hook只是其中的一种特例)。这种Hook API技术被广泛的采用在一些领域中,如屏幕取词,个人防火墙等。这种API Hook技术并不是很新,但是涉及的领域比较宽广,要想做好有一定的技术难度。本文是采集了不少达人的以前资料并结合自己的实验得出的心得体会,在这里进行总结发表,希望...

WGCNA加权基因共表达网络分析(1)简介、原理_我是菜鸟www的博客-程序员宅基地_加权基因共表达网络分析

WGCNA简介WGCNA(Weighted Gene Co-Expression Network Analysis, 加权基因共表达网络分析),鉴定表达模式相似的基因集合(module),解析基因集合与样品表型之间的联系,绘制基因集合之间的调控网络并鉴定关键调控基因WGCNA适用于复杂的转录组数据(样本数目较多)研究不同器官/组织类型和不同阶段的发育调控、生物和非生物胁迫的不同时间响应机制WGCNA原理原理概要1.构建基因共表达网络:先构建基因共表达网络,通常利用两两基因之间的表达模式来计算

webstorm入门1-主题和配色_Brook_的博客-程序员宅基地

http://blog.csdn.net/xiaoyu411502/article/details/46702391

随便推点

Hystrix使用入门手册(中文)_还不够的博客-程序员宅基地

原文地址:http://www.jianshu.com/p/b9af028efebb导语:网上资料(尤其中文文档)对hystrix基础功能的解释比较笼统,看了往往一头雾水。为此,本文将通过若干demo,加入对官网How-it-Works的理解和翻译,力求更清晰解释hystrix的基础功能。所用demo均对官网How-To-Use进行了二次修改,见

【算法总结】数据结构_weixin_30794491的博客-程序员宅基地

【splay】〖模板代码〗 1 void rotate(int x,int& k) 2 { 3 int y=fa[x],z=fa[y],l,r; 4 l=(tr[y][1]==x);r=l^1; 5 if(y==k)k=x; 6 else tr[z][tr[z][1]==y]=x; 7 fa[x]=z;fa[y...

支付宝接口实现_HiBoyljw的博客-程序员宅基地

* 将订单提交支付宝进行网上支付 */public ActionForward submitAlipayUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Strin

appium简明教程(11)——使用resource id定位(仅支持安卓4.3以上系统)_qitehuanjue的博客-程序员宅基地

上一节乙醇带大家了解了appium的定位策略。实际上appium的控件定位方式是完全遵守webdriver的mobile扩展协议的。这一节将分享一下如何使用resource id来定位Android策略。什么是resource id,这个不属于本文的范畴,大家可以点这里了解。 我们可以有两种方式来使用resource id进行定位:使用 findElement(By.i

解决fiddler响应显示中文乱码问题_卫龙好不好的博客-程序员宅基地

在使用fidder的过程中发现post请求后的json是中文乱码,上网寻求了一些解决方案,在此总结一下:1.点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"按钮,该响应的乱码文字立刻正常显示中文。2.选中工具栏中的"Decode...

推荐文章

热门文章

相关标签