本文整理自网络,侵删。
目录
- 1、rsync、cp拷贝文件
- 2、select xxx into outfile语法
- 3、延时从库
- 4、逻辑备份mysqldump
- 5、xtrabackup备份
- 6、binlog备份
- 7、clone plugin
从事DBA的行业也有两年多了,在数据备份上无论是理论和实践上,都积累了一些经验,恰逢这两天又出现一些数据备份方面的问题,这里,我将之前遇到过的数据备份方法简单做个整理。
我们都知道,保障数据库的稳定、安全、高效运行,是DBA的工作职责所在。对于DBA来讲,要想实现数据安全,数据备份可能是至关重要的一个环节。
我曾经就遇到过一个案例,业务方误删数据引发故障,要求DBA恢复数据,结果发现当天的数据没有备份,场面一度十分尴尬,本来这个故障是业务引发的,但是由于没有数据备份,最后业务和DBA各打五十大板,一起背锅。如果业务没有要求DBA恢复数据,那么DBA完全可以后续悄悄的将数据备份,最后就可以免于被牵连,当然,生产环境没有如果。
备份的重要性,自然不言而喻,那么我们常见的备份思路,都可以有哪些呢?根据备份是否影响线上环境,大体可以分为冷备、热备2种方法,其中冷备可以理解是对线上业务有影响,需要离线备份,而热备是对线上业务没有影响或者影响比较小。
我自己总结了以下方法:
1、rsync、cp拷贝文件
这种方法比较暴力,就是直接停止MySQL数据库,然后通过cp、rsync这种Linux物理文件复制命令,来实现数据的备份。
其中:
cp特指的是备份到当前服务器的其他目录
rsync特指的是备份到其他服务器上
这种方法,要注意下面几点:
a、那对于线上环境来讲,rsync的方法会更好,因为如果服务器宕机了,cp方法备份也会不可用。
b、rsync和cp的方法,都需要在主从架构的从库上,或者是指定备份库上进行。(这里我推荐线上环境使用一主一从一备份的复制架构)
冷备份的最大的优点是速度快、操作简单。
适合大数据库的日常备份。
2、select xxx into outfile语法
这种方法,其实往往不能叫做备份,因为它其实只备份了一个表的数据,但是它非常有用。
试想这样一种场景,业务方让你update几百条数据,而表中的数据有上千万条,这个时候,如果备份全表,就显得不那么灵活,而且耗费的时间较长。如果我们使用select的语法,将这些需要修改的数据,先保存到一个txt的文件中,即使update之后,业务反馈和预期不符,也能快速的找到update之前的样子,可以极大的缩短你恢复数据的时间。
这种备份方法适合单个表的某一部分数据变更前的备份。
3、延时从库
在MySQL中,这种备份方案相对比较少,在MongoDB中,延时从库非常常见。但是延时从库是一种比较好的在线备份手段,它最主要的特点是恢复的可能性高。
有些时候,你辛苦备份的数据,在其他服务器上,因为各种依赖或者版本问题,导致无法还原一个MySQL实例,这就比较尴尬,而延时从库可以很好的解决这个问题,因为本身从库是运行中的,所以不用担心库起不来的情况。
相关阅读 >>
更多相关阅读请进入《mysql》频道 >>
数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL数据备份方法的选择与思考
相关推荐
评论
管理员已关闭评论功能...