漫话:如何给女朋友解释什么是删库跑路?
在DBA圈子有这样一个段子:
最近几年,经常会出现各种删库跑路的事件发生,前几天还有报道说思科离职5个月的程序员,为了报复公司,删虚拟机跑路了。
这位思科的离职员工,仅凭一己之力,删掉了思科 456 台虚拟机,导致思科损失 240 万美元,相当于人民币 1650 万。
对于这些事件,程序员之所以会删库跑路无外乎两个原因,第一种可能是真的手误;那第二种可能就是蓄谋的了。
所谓"删库跑路"其实只是一种戏谑的说法,而其中的"删库"具体做法可能是删除了服务器上面的文件、清空了数据库里面的内容、删除了数据库表等。
删除不同的数据,使用的方式也不尽相同。
删除服务器文件
Linux服务器的文件删除主要是rm命令,rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
在Linux上,使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。
rm 命令的语法是rm [选项][参数]
所以,在使用rm的时候,一定要高度注意[选项][参数]的正确性。
其中选项比较危险的有:
-f:强制删除文件或目录;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
这两个是比较危险的,可能会造成非预期的无法挽回的后果。
另外,参数也值得注意,有的人习惯使用rm *
来删除文件,这其实是非常危险的,因为*
代表所有文件,这就很容误删。
最危险的就是在服务器上执行:rm -rf *
,当然,比这更更更更更危险的是:sudo rm -rf /
删除数据库
除了删除服务器上面的文件外,也有些案例是删除了数据库。
这里的删除数据库包括了数据库以及表的删除。
1、dorp ,drop 属于数据库定义语言DDL,表示删除表, 也可以用来删除数据库,删除表格中的索引。
使用drop删除表的语法是:drop table 表名
删除数据库的语法是:drop database 数据库名
2、truncate, truncate 属于数据库定义语言DDL,表示删除表中所有数据,DDL操作是隐性提交的!不能rollback
使用truncate删除表的语法是:truncate from 表名
特别要注意的是:使用truncate 删除的数据是不能恢复的。
清空表内容
除了对数据库和表结构的操作以外,还有一种破坏的方式就是清空数据库中的内容。
通常使用delte语句,delete 属于数据库操纵语言DML,表示删除表中的数据,
delete删除过程是每次从表中删除一行,并把该行删除操作作为事务记录在日志中保存。
使用delete的时候可以全部删除,也可以按条件删除。
使用delete删除表中全部数据:delete from 表名
使用delete按条件删除 :delete from 表名 where 条件
首先,对于操作者来说,最重要就是在进行删除操作的时候,一定要加倍小心,仔细检查确认无误后再执行。
对于公司管理者来说,更好的手段就是做好权限管控,将不该授予的权限全部回收,避免有人误操作或者恶意操作。
还有一点至关重要,那就是及时备份!!!冷备、热备双管齐下!!!
最后,奉劝广大程序员、DBA、运维工程师们,莫要冲动,删库跑路一时爽,入狱坐牢菊花痒。
关于作者:漫话编程,是一个通过漫画+音频的形式讲解枯燥的编程知识的公众号。致力于让编程变得更有乐趣。
推荐阅读:
喜欢我可以给我设为星标哦
本文分享自微信公众号 - 漫话编程(mhcoding)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一篇文章带你了解Go语言基础之运算符和流程控制
点击上方“ Go语言进阶学习 ”,进行关注 回复“Go语言”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 其险也如此,嗟尔远道之人胡为乎来哉! 上篇文章中我们学习了Go语言基础中的变量,一篇文章带你了解Go语言基础之变量,这篇文章我们继续介绍Go语言基础知识,今天跟大家分享的是基础数据类型之运算符和流程控制,一起来学习下吧~ 前言 Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之运算符和流程控制叭。 运算符 运算符这个名字听着玄乎,其实我们平常见的很多了,就像=,+,/之类的。 运算符主要分为 算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 下面就来简单了解以下叭。 算数运算符 算数运算符顾名思义,主要用在算数中,加减乘除了啥的 简单了解以下叭。 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 ++ 自加 -- 自减 关系运算符 运算符 描述 == 检查两个值是否相等,如果相等返回 True 否则返回 False != 检查两个值是否不相等,如果不相等返回 True 否则返回 False > 检查左边值是否大于右边值,如果是返回...
- 下一篇
UML类图还看不懂?来看看这版乡村爱情类图,一把学会!
持续坚持原创输出,点击蓝字关注我吧 作者:小傅哥博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😜 目录 一、码场心得 二、会议室 三、乡村爱情类图学习 1. 类图模型 2. 继承关系 3. 实现关系 4. 组合关系 5. 聚合关系 6. 关联关系 7. 依赖关系 四、赵家班全景类图 五、总结 六、系列推荐 一、码场心得 🤔有个词叫内卷严重! 最开始听到这个词是有个小伙伴在我的一篇HashMap源码分析文章下的留言:“哥们,你这叫内卷!”。这篇文章深度解释了扰动函数、负载因子以及相关数学方式的结果验证,有兴趣的可以跳过去阅读。《HashMap核心知识,扰动函数、负载因子、扩容链表拆分,深度学习》 那什么叫内卷呢,乍一看这词还是有点新的。其实内卷化来自单词 involution,也可以称作“过密化”。这样就好解释了,比如; 100个人上卫生间就3个坑,没法公平分配,那就谁今天谁穿裤衩谁先上 100个700分以上的,就30%个名额能去清北。3万多600分以上的考生里,很多人可能连211都上不了。 道路拥堵,不能让每个人都开车,只能遥遥无期的摇号...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Hadoop3单机部署,实现最简伪集群
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8