刪庫後,除了跑路還能怎麼辦?

閱讀本文大概須要 1.4 分鐘。程序員

當年悟空學藝於菩提祖師門下,老師遣他下山,悟空以爲本身蒙受師傅傳授大恩,尚未報答。菩提祖師就說:不要提什麼報答之恩,只要你往後闖出禍來不把爲師說出來就好了。面試

我據說過挺多刪庫的事件,因而開玩笑的略改一下:「往後你刪了庫後,不要把師傅說出來就好了」,不知道那些刪庫的工程師們,其師傅有沒有交代過這句話,emmm。。。數據庫

話說往後,孫悟空真的刪過一個數據庫裏的記錄,這就是:生死薄。微信

孫悟空壽命只有342歲,在大鬧地府那天其實陽壽已盡,在原著中曾這樣寫道:數據結構

「悟空親自檢閱,直到那魂字一千三百五十號上,方注着孫悟空名字,乃天產石猴,該壽三百四十二歲,善終。」併發

孫悟空哪能受得了這個,拿起生死簿把本身的名字就劃了,不只如此,他也不能讓本身的猴子猴孫也經歷生老病死,便順手把生死簿中全部的猴子都給劃掉了。運維

因此問題來了:分佈式

生死簿,這個龐大的數據庫系統,若是沒有災備,沒有備份,只有當前態,其數據就被永久的改變了。無可挽回。高併發

從表象來看,生死薄是一個平板文件的日誌記錄,可是事實上並不是如此,這內部必定是一個龐大而複雜的數據庫系統,其中:優化

要存儲全部生靈的出生壽元;

要存儲全部生靈的善惡功德;

要存儲全部的前世此生循環;

要存儲全部生靈的關係關聯;

要高併發高吞吐全宇宙聯網;

你們想一想這個數據結構要怎麼設計?

數據量實在太大,分庫分表分佈式,這是少不了的;

主鍵惟一如何規劃?

前世此生生生不息,關係網實在複雜;

天災人禍批量處理高併發;

前車可鑑,容災備份高可用必需要有?

太複雜了,仍是做爲面試題,找幾我的問問,或者招個標搞個方案吧!

投標應標咱無論了,但是刪除了數據庫怎麼辦?

等傳票?拿護照?跑路去?nonono !以 MySQL 爲例,這裏對刪庫語句作下分類:

1. 使用 delete 語句誤刪數據行,經過閃回 +binlog 能夠找回;

2. 使用 drop table/database 或者 truncate table 語句誤刪數據庫/表,經過全量數據按期備份 +binlog 能夠找回;

3. 使用 rm -rf 命令誤刪整個 MySQL 實例,只要還有備份節點就能夠找回。

一分鐘系列的文章,篇幅有限,這裏只簡單介紹下采起什麼補救措施,不寫詳細內容,想看詳細的文章,能夠在下方或後臺給我留言。

操做需謹慎,刪庫別跑路!

 

 

·END·

程序員的成長之路

路雖遠,行則必至

微信ID:cxydczzl

 

 

往期精彩回顧

程序員接私活的7大平臺利器

碼農深夜騎車逆行被攔後大哭,稱壓力好大!

四面美團,收割 offer

MySQL 優化實戰記錄

龍崗一個月350的出租房,我搬出來了

程序員工做 996 生病 ICU ?

一次很是有趣的 SQL 優化經歷

如何閱讀Java源碼?

沒執行過 rm -rf /* 的開發不是好運維

你與一份好簡歷之間的距離

還在使用SimpleDateFormat?

Java程序員的成長之路

送給程序員們的經典電子書大禮包

相關文章
相關標籤/搜索