漫話:如何給女朋友解釋什么是刪庫跑路?
在DBA圈子有這樣一個(gè)段子:
最近幾年,經(jīng)常會(huì)出現(xiàn)各種刪庫跑路的事件發(fā)生,前幾天還有報(bào)道說思科離職5個(gè)月的程序員,為了報(bào)復(fù)公司,刪虛擬機(jī)跑路了。
這位思科的離職員工,僅憑一己之力,刪掉了思科 456 臺(tái)虛擬機(jī),導(dǎo)致思科損失 240 萬美元,相當(dāng)于人民幣 1650 萬。
對(duì)于這些事件,程序員之所以會(huì)刪庫跑路無外乎兩個(gè)原因,第一種可能是真的手誤;那第二種可能就是蓄謀的了。
怎么刪庫的?
所謂"刪庫跑路"其實(shí)只是一種戲謔的說法,而其中的"刪庫"具體做法可能是刪除了服務(wù)器上面的文件、清空了數(shù)據(jù)庫里面的內(nèi)容、刪除了數(shù)據(jù)庫表等。
刪除不同的數(shù)據(jù),使用的方式也不盡相同。
刪除服務(wù)器文件
Linux服務(wù)器的文件刪除主要是rm命令,rm命令可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉。
在Linux上,使用rm命令要格外小心。因?yàn)橐坏﹦h除了一個(gè)文件,就無法再恢復(fù)它。
rm 命令的語法是rm [選項(xiàng)][參數(shù)]
所以,在使用rm的時(shí)候,一定要高度注意[選項(xiàng)][參數(shù)]的正確性。
其中選項(xiàng)比較危險(xiǎn)的有:
- -f:強(qiáng)制刪除文件或目錄;
- -r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
這兩個(gè)是比較危險(xiǎn)的,可能會(huì)造成非預(yù)期的無法挽回的后果。
另外,參數(shù)也值得注意,有的人習(xí)慣使用rm * 來刪除文件,這其實(shí)是非常危險(xiǎn)的,因?yàn)?代表所有文件,這就很容誤刪。
最危險(xiǎn)的就是在服務(wù)器上執(zhí)行:rm -rf *,當(dāng)然,比這更更更更更危險(xiǎn)的是:sudo rm -rf /
 特別聲明:本圖內(nèi)容不要相信,否則后果自負(fù)!
刪除數(shù)據(jù)庫
除了刪除服務(wù)器上面的文件外,也有些案例是刪除了數(shù)據(jù)庫。
這里的刪除數(shù)據(jù)庫包括了數(shù)據(jù)庫以及表的刪除。
1、dorp ,drop 屬于數(shù)據(jù)庫定義語言DDL,表示刪除表, 也可以用來刪除數(shù)據(jù)庫,刪除表格中的索引。
使用drop刪除表的語法是:drop table 表名
刪除數(shù)據(jù)庫的語法是:drop database 數(shù)據(jù)庫名
2、truncate, truncate 屬于數(shù)據(jù)庫定義語言DDL,表示刪除表中所有數(shù)據(jù),DDL操作是隱性提交的!不能rollback
使用truncate刪除表的語法是:truncate from 表名
特別要注意的是:使用truncate 刪除的數(shù)據(jù)是不能恢復(fù)的。
清空表內(nèi)容
除了對(duì)數(shù)據(jù)庫和表結(jié)構(gòu)的操作以外,還有一種破壞的方式就是清空數(shù)據(jù)庫中的內(nèi)容。
通常使用delte語句,delete 屬于數(shù)據(jù)庫操縱語言DML,表示刪除表中的數(shù)據(jù),
delete刪除過程是每次從表中刪除一行,并把該行刪除操作作為事務(wù)記錄在日志中保存。
使用delete的時(shí)候可以全部刪除,也可以按條件刪除。
使用delete刪除表中全部數(shù)據(jù):delete from 表名
使用delete按條件刪除 :delete from 表名 where 條件
如何避免誤刪
首先,對(duì)于操作者來說,最重要就是在進(jìn)行刪除操作的時(shí)候,一定要加倍小心,仔細(xì)檢查確認(rèn)無誤后再執(zhí)行。
對(duì)于公司管理者來說,更好的手段就是做好權(quán)限管控,將不該授予的權(quán)限全部回收,避免有人誤操作或者惡意操作。
還有一點(diǎn)至關(guān)重要,那就是及時(shí)備份!!!冷備、熱備雙管齊下!!!
最后,奉勸廣大程序員、DBA、運(yùn)維工程師們,莫要沖動(dòng),刪庫跑路一時(shí)爽,入獄坐牢菊花癢。
關(guān)于作者:漫話編程,是一個(gè)通過漫畫+音頻的形式講解枯燥的編程知識(shí)的公眾號(hào)。致力于讓編程變得更有樂趣。
本文轉(zhuǎn)載自微信公眾號(hào)「漫話編程」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系漫話編程公眾號(hào)。