尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
工程師的最後威脅是刪庫,而跟在刪庫後面的一般就是跑路了,這是什麼原因呢?先跟大家普及一下刪庫是什麼意思,有什麼後果?
數據庫簡而言之可視為電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。也可以理解為按照數據結構來組織、存儲和管理數據的倉庫。是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,一旦數據被刪除,後果十分嚴重。
順豐工程師誤刪庫「被」跑路
順豐工程師刪庫:在接到改需求的消息後,按照操作流程登陸上了生產數據庫跳轉機,通過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、周密的備份,即使管理員跑路也不怕