成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

誤刪了公司數據庫,但我還是活下來了

運維 數據庫運維
上周我與同事們進行了一次關于職業生涯中搞砸了一些事情的簡短談話。這確實會淪為他人笑柄,卻更給我們帶來了珍貴的教訓。重要的是,我們應該分享那些曾經的錯誤,這樣其他人就可以從其中學習。下文是最近在我身上發生的例子。

 [[271316]]

上周我與同事們進行了一次關于職業生涯中搞砸了一些事情的簡短談話。這確實會淪為他人笑柄,卻更給我們帶來了珍貴的教訓。重要的是,我們應該分享那些曾經的錯誤,這樣其他人就可以從其中學習。下文是最近在我身上發生的例子。

為什么有如此多誤刪生產數據庫的事情發生?

幾個月前,Reddit上有一篇文章,講了一名初級開發人員在上班的第一天就刪除了生產數據庫的事。我們都很憷于讀到這類犯了這類無法讓人忘卻的大錯誤的文章。因為我們離這些也不遠,而大多數人都是“死里逃生”。

在我的第一份工作中,一位高級數據庫管理員在上班第一天就誤刪了生產數據庫。這類故事情節比比皆是。這個團隊從一個星期的備份中恢復了他導致的錯誤,并讓他繼續工作。十年后,他們依然將其作為笑點。

今年早些時候,我被派去檢查一個客戶的生產數據上的問題。他們進行了小范圍的非公開測試,結果網站上沒有顯示任何內容。我想查查是否是存在漏洞或是易損性問題導致了這一結果。

我通過了生產機器上的簽名環節,然后打開了數據庫。內容庫(articles table)內空空如也。這證實了我們在網站上看到的情況是真實的。

用戶庫(users table)內依然有用戶數據存在。真讓人奇怪。所以情況是我們丟失了所有內容,但是至少測試用戶的信息依然存在。我們給出的解釋是這是一個測試行為,所以這些事情有可能發生。

接下來的幾分鐘一片混亂。我不記得自己做了什么。我不認為自己笨到在控制臺上執行了刪除用戶庫的操作。但是事實就是這么發生了,現在后臺既沒有了內容庫,也沒有了用戶庫。這真實下了我一大跳。

然后我的大腦就開始轉動起來思考如何解決這個問題。我真的把用戶庫給刪掉了嗎?是的。我們存備份了嗎?沒有。我們應該如何告訴客戶這個事情?不知道。

我猶記得自己走向項目經理那里,坐在她身邊,向她解釋了發生了什么事情時的場面。因為我們的內容庫中沒有內容,這就是為什么網站上空空如也的原因。同時,我還刪除了用戶庫。他們現在需要重新邀請所有的用戶,如果他們能夠弄清楚誰是誰。

我回到了自己的辦公室,垂頭喪氣。

不過,我還是沒有接受這件事。我們一開始是如何失去這些東西的?

我開始不停地往深處想。半是為了否認這件事,半是想要挽回面子。不久,我注意到了一些重要事情。

在服務器上還存在著其他5個數據庫。其中一個數據庫的名字和我剛才看到的數據庫名字很像。

當我查看這個數據庫的時候,發現所有的內容都在里面。用戶庫也安然無恙。結果證明,是一個配置變動無意中改變了生產設置,使站點指向了一個全新的數據庫。我之前所看的用戶信息是什么?種子數據。

真是謝天謝地。早上的神經緊張和胃酸讓我覺得很不舒服,但是我們“恢復”了數據,并在壞消息傳開之前找到了真正的問題。

從這件事中可以吸取很多教訓。其中一點是關于最簡單原則:我們總是在做的備份,也許是開發人員最有成效的挽救藥。

繼續前進但不要沖得過前

我最近犯的一個錯誤不太引人注目。事實上,這是一個經由小錯誤所引起的小錯誤最終導致了一場混亂的故事。

我們面臨的是一個時間緊迫的項目。

在初次會議上,我們團隊一致認為完成它會花費比預定時間多一倍的時間。這個最后期限一開始就對我們產生影響,讓我寬松地通過了身份認證部分而留有更多時間去關注客戶所實際關注的功能設計。

我只是在一個單一頁面測試了身份驗證測試,但是當時還不了解它們將如何被組合在一起。

把它單列出來是我做的一個錯誤決定。我忽略了一些重要事情:

  1. 用戶在登陸之后會從cookie中加載內容,但是這個頁面卻試圖在沒有任何等待的情況下進行加載。根據事件的發生順序,用戶會得到帶來服務器的反映,說其是未經授權的。
  2. 身份驗證也未檢查令牌是否過期。如果用戶不經常訪問這個網站。那么當其再一次訪問時,網站需要用戶登出再登入才會運行。
  3. 令牌應該基于每個請求進行更新,但是我從未花費時間去理解其發生前后的規則。所以,這又產生了一個時間問題。如果我們同時發送了幾個請求,根據它們返回的順序,用戶會得到那個在后來的請求中無法使用的令牌。

我們匆匆忙忙地趕著項目,卻仍花費了比規定多一倍的時間。區別之處在于有更多的漏洞,并需要花更多時間去跟蹤并修復這些漏洞。

這使我感到窘迫。之后因為整件事情變得比較糟糕哦而讓我在公眾場合感到羞愧。

我想說的是:在此之后,我花費了時間去學習認證程序。我現在了解了OAuth、JWT、刷新令牌和到期行為。我仔細研究了其他人所編寫的身份驗證代碼。我能夠在不同的語言和框架中建構身份驗證程序。

將失敗轉化為未來的成功

這是我從那些表現糟糕的事情中所獲得的經驗。如果你愿意,那么幾乎所有好的結果都會由此而來。

如果有人能從自己的錯誤中汲取教訓,那么他就會比現在更優秀。我試著不去打擊那些第一次犯錯誤的隊友。他們通常都知道自己把事情搞的一團糟。

我也正嘗試不對那些不斷犯同樣錯誤的人施加壓力。他們仍然值得同情。

如果在錯誤中做到這4點,那么你就會不斷成長:

  1. 嘲笑自己。
  2. 從中汲取經驗教訓。
  3. 改正錯誤。
  4. 分享自己的錯誤,讓其他人也有所收獲。

最后,我想講一個關于錯誤價值的軼事。20世紀初,IBM的首席執行官托馬斯·J·沃森曾遇到過一名員工,這名員工的一系列糟糕決策讓公司付出了巨大代價。當沃森被問到是否會解雇這名員工時,他回應道:

“不,我剛在他身上花了60萬美元的培訓費。為什么要讓別人白白撿去這個便宜?”

 

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2018-04-24 18:23:02

數據庫誤刪

2019-04-16 14:31:21

華為離職移動

2021-07-02 10:35:09

數據庫互聯網架構

2017-06-06 08:59:47

數字化轉型數據庫Go語言

2021-08-11 14:33:38

注解springAutowired

2019-08-20 14:02:07

MongoDB數據庫恢復數據

2024-12-02 12:23:25

2025-04-28 08:35:07

2021-03-05 13:08:56

MySQL數據庫命令

2011-05-26 15:27:08

Oracle數據庫

2017-04-01 09:00:00

數據庫誤刪除案例及建議

2017-04-01 18:30:47

MySQL誤刪除數據庫

2015-06-24 11:02:48

云計算企業云計算服務商

2015-10-27 08:47:17

項目創業寒冬

2018-04-28 15:28:44

數據庫MySQL誤刪除

2018-01-03 09:57:19

異地雙活數據庫

2015-10-09 10:15:41

大數據公司

2017-02-06 10:53:33

2022-11-08 08:11:52

PG數據庫防誤

2013-03-01 10:23:58

RackspaceMongoDBObjectRocke
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 波多野结衣中文字幕一区二区三区 | 欧美一区二区三区在线观看 | 老子午夜影院 | 伊人最新网址 | 亚洲午夜在线 | 久久久久久精 | 久久精品视频99 | 青青艹在线视频 | 欧美国产日韩精品 | 免费国产一区 | 国产亚洲人成a在线v网站 | 亚洲精品国产成人 | 男人av的天堂 | 日韩精品久久久久 | 成人影院av | 一级在线观看 | 亚洲欧美日韩精品久久亚洲区 | 日韩欧美国产一区二区 | 在线不卡视频 | 成人不卡视频 | 精品美女久久久 | 久草在线| 久久九精品 | 一级毛片免费视频观看 | 欧美激情久久久 | 激情网站在线 | 色爱综合网 | 男女视频在线观看网站 | 国产91色在线 | 亚洲 | 日一区二区 | 国产激情精品一区二区三区 | 久久久久成人精品 | 欧美日韩一本 | 国产精品欧美一区二区三区不卡 | 精品二区视频 | 日韩一级黄色片 | 毛片一级黄色 | 亚洲黄色一级毛片 | 欧美一级视频免费看 | www日本高清 | 日韩高清国产一区在线 |