數據庫一直是個大問題。若是沒有作數據備份,或者是開啓binlog,那真得就是沒了就是沒了,全表更新就是真的回不去了,就算開啓了備份,也很麻煩。光是數據恢復就夠喝一壺的,並且說不影響線上正在跑的業務,那是騙人的。那麼若是作到防止數據庫誤刪或者是誤更新,能夠參考下如下幾點,下面總結的都是業務層面,和一些配置層面。mysql
update delete 儘可能不容許where條件爲空程序員
$whereString = ""; $whereArr = []; $sql1 = M('test')->where($whereString)->buildSql(); $sql2 = M('test')->where($whereArr)->buildSql(); echo $sql1; // SELECT * FROM mall_test echo $sql2; // SELECT * FROM mall_test
is_delete
等等標記狀態的字段,若有必要,再加上刪除時間。軟刪除的好處也很明顯,若是是業務發現誤刪,還能有迴旋的餘地。又或者,在一些線上業務中,好比說能夠多一個功能,好比說用戶是VIP,能夠恢復之前刪除的文章或者是圖片等等,看似很厲害,很貼心,其實就是改變刪除狀態而已。grant配置權限
分配的用戶應該知足最小可用權限
。好比WEB應用的操做數據庫帳號。root帳號在非必須狀況下,儘可能不要參與平常運維,維護的工做。勤於多多分配帳號。權限的話也要控制好,好比你開放DROP TURNCATE
等等這些危險命令幹嗎。若是是用了軟刪除的邏輯,那麼DELETE應該也不容許開放sql