記一次 重大失誤:刪庫

        之前一直聽到某某程序員刪庫跑路,其實一直都是把這種傻逼操作當成飯後消遣來娛樂的。但是昨天我誤操作一個神操作把公司外網數據庫的其中一個數據庫給刪了,造成公司多個服務器宕機一上午,造成很多客戶辦公系統都無法正常使用,造成挺大的影響。

        公司有內網環境和外網正式環境,我平時後端用postman模擬前端發起請求都習慣使用內網進行測試,出問題了也不會出事,然後配合前端進行測試的時候一般都直接在外網進行測試,因爲我自己在內網測試接口沒問題了,直接配合前端在外網測試,這樣就不需要再測試兩遍,正是由於我這種想法才導致這個事故。昨天早上剛上班,前端同事說讓我往外網數據庫用戶表添加一條測試數據方便他進行測試,我想着這個小意思,我就開始打開數據庫進行操作,我直接在用戶表插入一條測試賬號數據,但是因爲密碼需要拼接指定字符串再進行MD5加密,所以我就用sql語句對我插入的測試數據進行加密操作,輕車熟路的我一連貫輸入update users set password = MD5(CONCAT('tao1024', 'zxc123')),因爲剛上班還沒精神一看sql語句簡直完美,點擊運行,卡了兩秒,我當時知道完了, 忘了加where條件,果不其然,兩秒後成功運行,我把數據庫用戶表幾十萬條用戶註冊信息的密碼全部給更改了,當時心裏有點慌,總不能讓幾十萬個用戶全部去修改密碼吧,但是因爲每天下班前有備份的習慣,所以還是有點淡定,點開還原文件,點擊還原備份,提示我還原會清空表的所有數據,還原回備份文件,我着急點擊確定,半小時下來,提示還原成功,我打開數據庫一看,剛纔改了密碼好歹還是小問題,只是涉及用戶表而已,Navicat把整個庫的備份文件放在一起,我點擊還原中間出現故障,直接把整個庫所有表的數據都直接清空了但是沒有恢復我前一天晚上的備份文件,當時慌得一比,我竟然刪庫了,我是不是要跑路了。技術負責人過了兩分鐘就發現問題了,微信問我數據庫數據怎麼不見了,我當時正在還原,我就說出問題了正在還原,後來還原失敗,數據庫刪庫可是大事,趕緊找技術負責人幫忙,他讓我把備份文件發給他,我心急火燎的把數據庫備份文件給他發過去,然後讓他那邊操作,從我認識他到現在,他一直是特別淡定的一個人,當初我把外網配置文件改了,服務器崩潰,他也很淡定的處理,處事不驚,然後我看起來淡定的等着他回覆數據,實則我心裏慌得一比,九點二十五分刪庫操作,十點多負責人開始處理,十一點多他通知我,恢復到前一天晚上的備份數據了,我的心跳才慢慢降下來,他說阿里雲時間超過一小時無法進行恢復到現在的數據了,我當時心想能恢復到昨晚的數據已經很好了,然後他又和我說好像有辦法恢復,讓我別動數據庫。他來操作,然後將近十二點的時候他告訴我將九點二十五分之前的數據都導入另一個數據庫了,一會恢復回原數據庫,然後我再啓動服務器就可以了,我終於慌張的心放下來了。十二點四十五分,他和我說可以啓動服務器了,我趕緊把所有服務器都啓動了,測試一下果然全部數據都沒有問題了,因爲刪庫造成的重大後果在技術負責人的幫助下以服務器宕機三個多小時的代價下恢復了。

        然後我深刻反思了下自己,外網數據庫真的不能隨便亂搞,不出事還好。一旦出事都不是小事,測試一定要在內網測試環境進行多次測試,在能確保沒問題的前提再去外網進行操作。而且一定要備份再操作!!!

本文分享自微信公衆號 - 程序猿周先森(zhanyue_org)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章