怎么避免从删库到跑路

怎么避免从删库到跑路_第1张图片

 

 

怎么避免从删库到跑路_第2张图片

人在家中坐,删库天上来。   

      上个月wei盟的删库事件,在运维圈引起不小的轰动,不了解的自行搜索下哈。

我也和大佬聊了下,我问:“能从其中得到怎样的教训?”

大佬回复是:“个例事件不具有参考价值。”

我后来仔细一想也对呀。

每个公司掌握核心运维权限的人都可以瞬间把服务器搞瘫痪。

真的不是能从技术层面能解决的。至少从我的技术认知范围内还没想到什么办法通过技术让人不犯罪。

通过以前多次的删库跑路事件和这次的影响。大家更进一步认识了运维人员的威力。

既然删错数据和文件危害那么大,我们作为一个好人。怎么避免脑子糊涂踩雷呢。

今天和大家分享下我的和同事的一些经历,以及自己拙劣的应对策略希望大家莫见笑。

1、直接清空了测试库

2008年,(暴露自己是老程序员了,^_^) 自己和同事在导表的时候,没注意到最上面有一句的sql

DROP DATABASE  IF EXISTS  

直接在同事的电脑上点击了运行,后来发现其他表的都没有。才注意到刚刚执行的sql最上面是删库语句。吓死了,还好是测试库。给自己敲响了警钟。

应对策略:运行SQL时比如倒库、导表的时候一定注意有没有删库和删除表格的语句。

2、数据库某个字段没加条件被全部更新

  • 某个早春的下午, 一个存放图库的表被同事不加where条件的执行了。本来要某一条数据的字段A置空,结果把所有记录的字段A置空了,还好影响数据不多。通过用前一天的备份的数据恢复了表。上午编辑的工作白做了

应对策略:

           1)备份很重要
           2)我自己写update 或者delete语句时候,会先写出where语句后面的,然后在去写前面的表名和字段名
           3)尽量避免开发有对线上数据库的直接操作权限,能减少一部分误操作

           4)一般的更新或者删除要加limit

  • 又是某个初夏的下午

一个程序员通过QQ发给运维要修改下自己账号的密码,来了一句。

update user set passwd='xxxxx'
运维也没注意,直接运行了。

结果悲剧了,客服部门反馈有某些账号登录不了。危害不大的原因是。很多用户浏览器都保存了cookie。不需要直接登录。抓紧恢复。后端导致当天修改过密码的人得再次修改密码。

应对策略:走审核系统杜绝直接私信运维执行语句。

3、图片被误删除

    还是个下午,我工位后面的同事大概想执行的命令是

rm ./

结果变成了。

rm .空格 /

发现执行很长时间,然后有人反馈有的图片打不开了。悲剧了。图片持续被删除了,而且没备份。

一定数量的图片被删除(万张以上),(因为使用了nfs架构,图片目录挂载到了web服务器上)

随后通过cdn恢复了一部分。

应当策略:

1) 杜绝开发人员有服务器的操作权限

2) 资源走云存储

3) 图片资源,只增加不删除

 

我自己在工作对数据库和web操作也通过一些方法来提醒自己,时刻保持谨慎。

4、数据库操作软件的使用

 

怎么避免从删库到跑路_第3张图片

或者操作数据和查询干脆就使用两个不同的软件。但navicat很好用,不舍得不用

开发和测试库一个客户端软件

线上库修改数据一个客户端软件

怎么避免从删库到跑路_第4张图片

 

怎么避免从删库到跑路_第5张图片

吐槽下Sequel Pro  的提示真是太垃圾了,快也不是,慢也不是,谁用谁知道。

5、ssh命令终端的区分

 

怎么避免从删库到跑路_第6张图片

 

怎么避免从删库到跑路_第7张图片

对于我这个小心谨慎的和严重强迫症性格,必须区分开,必须区分开,必须区分开!!!

 

怎么避免从删库到跑路_第8张图片

欢迎点赞,评论,转发,收藏!!!

 

你可能感兴趣的:(技术生活)