微盟事情的反思:但愿删库跑路永远是一句玩笑而已

这是学习笔记的第 2202 篇文章面试

读完须要算法

9数据库

分钟

速读仅需7分钟c#

相信这些天微盟的事情你们已经据说了。安全

往往看到行业内的数据事故,咱们在感慨之余,更须要的就是自省,由于这能够敲响咱们已有状态的警钟。微盟技术团队从一个创业团队一路走来,逐步创建了较为成熟的安全管理规范,对服务器和数据访问权限有着明确的分层和分级的受权管理制度,此次虽然有疏忽,实际上也是受害者。服务器

根据事件跟踪得知,本次腾讯云从一开始就大力支持微盟,派了不少技术专家来帮助微盟和微盟的客户,使得恢复得以顺利开展。微信

可是问题要补救和修复,须要一套流程和制度和技术相辅相成,并且是一个持久改进的过程。米兰.昆德拉曾经说过:永远不要觉得能够逃避,由于每一步都决定着最后的结局。架构

从我的理解,由于涉及的环境复杂,涉及团队较多,因此恢复效率和验证方面须要一些时间。在数据恢复方面,有一条不成文的规定,那就是数据在必定程度上能够丢,可是不能乱,丢的数据,能够经过其余方式进行补救,可是数据一乱就失去了修复的基准。由于此次是人为恶意操做,因此恢复的难度会更大。运维

 

我打算经过以下的三个部分来进行阐述。工具

流程:

1.完善故障演练流程,做为一项共同目标来请协做完成,作到忙而不乱 

不少公司都会对故障演练存在一些疑虑,由于这会带来一些潜在的隐患,越是不能动,不敢动,在出问题的时候修复的效率是很低下的,每一个人和团队更加关注本身这一部分的工做,显然会忽略一些相关的环节,因此可以组织故障演练的流程和规范,把这些梳理和固化下来,在处理问题的时候才可以作到忙而不乱。

2.完善故障响应流程,什么等级的问题系统哪些负责人介入 

为何不少问题的修复进展不可控,一方面是须要团队协做,另外一方面是临时去协调和熟悉问题,排查问题的效率是比较低的,能够考虑引入故障的等级分类,及时通知相关团队,把一些问题的处理做为预先处理的环节提早接入。

3.运维操做须要报备 

运维操做不作无准备的操做,不作加塞操做(好比临时补充一些未经测试的脚本),重要操做,重大操做都须要报备,及时通告,把被动变为主动。

4.引入审计流程,实现独立的服务审计机制

审计环节是一个相对重要的独立环节,能够引入服务审计机制,能够经过独立的审计服务发现潜在的隐患,及时督正问题。

5..业务异常预警,须要同步相关链路层

对于业务层的异常,业务预警是尤为关键的,及时预警,及时同步到相关的链路,能够避免系统雪崩的状况。

技术:

1.完善备份恢复体系,使得恢复可以可控,高效

好比基础备份(全备和增量备份)热数据恢复(基于binlog的闪回技术)

备份恢复体系的建设是数据库建设的基础,也是衡量服务可用性的最后一根稻草。充分结合全量备份和增量备份,提升恢复的效率。

好比下面是一个全量备份和增量备份方案,实现一次全备,永远增量的实现策略,而后在这个基础上实现基于binlog的闪回。 

2.集群环境的恢复是系统薄弱环节系统服务之间互相依赖,这是以前不多有人关注的因此毫无疑问,这是一块硬骨头,咱们须要重点关注。 

3.使用回收站技术,杜绝人为恶意,误删除 

备份可以解决一些异常状况的数据恢复,可是效率相对不高,从规范角度来讲,如何避免危险操做,转而使用更加优雅可控的处理方式是咱们须要思考的问题。

Drop操做是默认提交的,并且是不可逆的,在数据库操做中都是跑路的代名词,MySQL层面目前没有相应的Drop操做恢复功能,除非经过备份来恢复,可是咱们能够考虑将Drop操做转换为一种可逆的DDL操做。

MySQL中默认每一个表有一个对应的ibd文件,其实能够把Drop操做转换为一个rename操做,即把文件从testdb迁移到testdb_arch下面;从权限上来讲,testdb_arch是业务不可见的,rename操做能够平滑的实现这个删除功能,若是在必定时间后确承认以清理,则数据清理对于已有的业务流程是不可见的,以下图所示。

此外,还有两个额外建议,一个是对于大表变动,尽量考虑低峰时段的在线变动,好比使用pt-osc工具或者是维护时段的变动,就再也不赘述了。

4.服务权限设置,需指定客户端权限 

分业务管理主库和备份库,是互联网行业的广泛惯例,不少公司广泛都会授予运维较大的权限这也是致使不少故障的潜在隐患。

在这方面咱们能够参考以下的一张设计图(来自张文宇老师),能够在多个环节发力,改进权限问题。

制度:

制度相对来讲是比较严格,冷面的,咱们能够在技术和流程规范之中寻找一些平衡点来辅助做为制度的基石。好比,密码的安全等级设置,权限管理引入审批制度等,在此就不在赘述了。

但愿删库跑路只是你们的一种玩笑,一旦当真就麻烦了。

QQ群号763628645

QQ群二维码以下, 添加请注明:姓名+地区+职位,不然不予经过

订阅个人微信公众号“杨建荣的学习笔记”,第一时间免费收到文章更新。别忘了加星标,以避免错过新推送提示。

7

   

近期热文

你可能也会对如下话题感兴趣。点击连接就能够查看。

8

   

转载热文

你可能也会对如下话题感兴趣,文章来源于转载,点击连接就能够查看。