程序员的最后威胁是删库,而跟在删库后面的一般就是跑路了,这是什么原因呢?先跟大家普及一下删库是什么意思,有什么后果?

数据库简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删去等操作。也可以理解为依照数据结构来组织、存储和管理数据的仓库。是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的中心部分,一旦数据被删去,后果非常严重。

顺丰工程师误删库“被”跑路

顺丰工程师删库:在接到改需求的音讯后,依照操作流程登陆上了生产数据库跳转机,通过navicat-mysql客户端管理工具,连入SHIVA-OMCS的RUSS库进行操作。在操作进程中,该运维发现选错了RUSS 数据库,计划删去执行的sql。结果操作失误,鼠标跳回到了russ库,在未确认所选状况的时候,直接delete了。还忽视了弹窗的提示,直接一个回车,russ库被删去。导致系统故障,无法使用并持续约590分钟。该程序员也因为操作问题被“跑路”了。

荷兰程序员删库跑路

荷兰海牙的一家云主机商 也遭遇过被删库的经历,一名前任管理员删光了该公司所有客户的数据,而且擦除了大多数服务器上面的内容,导致用户数据全部丢失,网络服务瘫痪一周,程序员跑的再快也没用。

阿里巴巴程序员差点删库

阿里巴巴作为大厂,人员的技术应该都是大牛级别的,但在《阿里巴巴JAVA开发手册》中,Mysql中有两条与此事情相关:

禁止使用存储进程,存储进程难以调试和扩展,更没有移植性;

数据订正(特别是删去、修改记录操作)时,要先select,避免出现误删去,确认无误才能更新句子。这两点很多程序员搞不懂,原因就是一个新入职的阿里巴巴员工。

当时的阿里巴巴数据库可以直接用bash进行后台的增删操作,各种监管和操作日志机制都不是很完善。新入职的程序员在使用存储进程进行update极度重要的表的时候,没有加where条件就直接潇洒了敲了一下回车键。还好当时他没有跑路,而是用哆嗦的手给DBA打了电话,还好oracle在没有保存前回滚是有效果的,没有造成太大的后果。

如何防止数据被程序删去呢?

1、通常,架构规划上需要留意,重要数据永远不要直接删去,标记为“删去”状态。不能给程序的用户all privileges。Insert、delete、update各类命令的权限单独赋予。

2、应用的网络进行分层规划。接入层,应用层,数据层。数据层只对固定的应用服务器开放。数据库永远只放在内网。

3、周密的备份,即使管理员跑路也不怕