这篇文章主要讲解了“什么是删库跑路”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是删库跑路”吧!

怎么删库的?
   

所谓"删库跑路"其实只是一种戏谑的说法,而其中的"删库"具体做法可能是删除了服务器上面的文件、清空了数据库里面的内容、删除了数据库表等。

删除不同的数据,使用的方式也不尽相同。

删除服务器文件

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 条件

如何避免误删
   

首先,对于操作者来说,最重要就是在进行删除操作的时候,一定要加倍小心,仔细检查确认无误后再执行。

对于公司管理者来说,更好的手段就是做好权限管控,将不该授予的权限全部回收,避免有人误操作或者恶意操作。

还有一点至关重要,那就是及时备份!!!冷备、热备双管齐下!!!