分享
定制
部分內(nèi)容僅限于 mysql。
0. 國(guó)內(nèi)呆不下了,趕緊出國(guó)
首先,不要選動(dòng)車(chē),要選最近的一班飛機(jī),盡快出國(guó),能走高速走高速,不然選人少的路線。
沒(méi)錯(cuò),我們 DBA 都是常備護(hù)照的。
切記,注意看高德地圖實(shí)時(shí)路況。
我們有個(gè)前輩就是刪庫(kù)之后開(kāi)車(chē)就上二環(huán),下午五點(diǎn)鐘。
警察到的時(shí)候他還堵在路上。
1. 只不過(guò)是把數(shù)據(jù)干掉了
權(quán)限問(wèn)題永遠(yuǎn)是大問(wèn)題,做好權(quán)限回收,開(kāi)發(fā)數(shù)據(jù)庫(kù)和線上數(shù)據(jù)庫(kù)分離,線上數(shù)據(jù)庫(kù)管理權(quán)限(一般指修改表結(jié)構(gòu)權(quán)限與刪表權(quán)限)禁止回收,也不提供給業(yè)務(wù)直接用。
不然參考 0。
公司管理上,最好有自己的 DB 運(yùn)維產(chǎn)品,線上數(shù)據(jù)庫(kù)只允許查,改的話(huà)要有審批流程。
至于查數(shù)據(jù)要不要脫敏、導(dǎo)入導(dǎo)出流程,就看自己產(chǎn)品的規(guī)劃和排期了。
至于 DBA 怎么保證不手滑,這個(gè)每個(gè)人有每個(gè)人的習(xí)慣。
2. 刪庫(kù)什么的都是小 case
清理數(shù)據(jù)庫(kù)之前一定要檢查進(jìn)程,是否存在數(shù)據(jù)庫(kù)進(jìn)程,如果存在則寧愿不搞也不要深夜搞。
公司清理數(shù)據(jù)庫(kù)要有下線流程。
下線一定要走流程。
寧愿多租幾天機(jī)房也不要丟掉數(shù)據(jù)。
不然參考 0。
原則是:
rm 文件之前先檢查進(jìn)程是否存在。
絕不手工 drop 庫(kù)表,如果非要 drop,則應(yīng)該寫(xiě)成 rename,truncate 也是類(lèi)似,寫(xiě)成 rename 和 create table like 兩條 sql。
刪表之前可以根據(jù)表文件的最后修改時(shí)間進(jìn)行再次確認(rèn),不確認(rèn)就找人 review,有下線流程則走下線流程。
3. 備份,備份,備在何處?
冷備,熱備都要有,一定要每天一備。
冷備便是應(yīng)對(duì)這種情況。
公司應(yīng)該有自己的 DB 備份方案,并且保證執(zhí)行到位。
4. 人算不如天算
關(guān)于這一點(diǎn),可以單獨(dú)拉一個(gè)大專(zhuān)題出來(lái)了,核心內(nèi)容是 mysql 高可用。
簡(jiǎn)單起見(jiàn),推薦這篇文章:避免硬件故障的核心解決方案是冗余。
硬件層面的 raid,軟件層面的主從、熱備都是為了保證某一個(gè)節(jié)點(diǎn)宕機(jī),其他節(jié)點(diǎn)仍然能繼續(xù)工作。
所有庫(kù)都要有主從備份,一方面做讀寫(xiě)分離,一方面也是為了備份、高可用。
即便有半同步復(fù)制,有些極端情況下可以認(rèn)為,mysql binlog 沒(méi)有同步到從庫(kù)上,仍然可能存在 binlog 丟失(數(shù)據(jù)丟失)的風(fēng)險(xiǎn)。
所以應(yīng)對(duì)這點(diǎn),比較好的開(kāi)源解決方案有 2:TiDB 和 Mysql GR。
5. 升級(jí)也能失敗?
說(shuō)起來(lái)很簡(jiǎn)單,升級(jí)無(wú)非是:
準(zhǔn)備升級(jí)
過(guò)程原理
手工升級(jí)后拓?fù)洌?/p>
工具(mha)升級(jí)后拓?fù)洌?/p>
6. 操作之前有個(gè)流程
一般自己操作的時(shí)候,都不會(huì)有太多的顧忌。
但是要是拿給別人看,就要考慮一下了。
如果別人不只要看,還要 review,那這樣就比較難犯重大的錯(cuò)誤了。
如果有些操作需要夜間一個(gè)人搞,那么一定要提前列好準(zhǔn)備,這個(gè)就比較正式了。
包括:
1. 梳理具體的執(zhí)行步驟、執(zhí)行命令和每個(gè)步驟的預(yù)計(jì)結(jié)果。
2. 如果某些步驟出錯(cuò),是否要求回滾、預(yù)先制定回滾方案。
3. 詳細(xì)記錄執(zhí)行記錄,每一步都要有反饋。
4. 事先梳理好收尾工作。
5. 強(qiáng)關(guān)聯(lián)業(yè)務(wù)要事先通知,考慮到時(shí)間段和別的業(yè)務(wù)高峰,盡量讓對(duì)方也安排人留守觀察。
6. 一定要嚴(yán)格按照步驟來(lái)進(jìn)行操作。
寧愿延期,不要加戲。
7.我救了我同事
我是一個(gè)喜歡備份數(shù)據(jù)庫(kù)的人,騷操作之前還特別謹(jǐn)慎。
不過(guò)同事踩了,在群里說(shuō)數(shù)據(jù)庫(kù)沒(méi)了,求救,我到現(xiàn)場(chǎng)看到同事就是坐地板上,很冷的地方,t恤全都濕了,一頭都是汗,頭發(fā)都濕了,說(shuō)話(huà)帶抖的。
幾個(gè)大牛在討論數(shù)據(jù)恢復(fù)的事兒
然后我說(shuō)我有上周的備份
同事兩眼放光,張開(kāi)血盆大口跳起來(lái)抱住我……一身臭汗啊喂!!
然后賺了好幾頓飯
8.實(shí)習(xí)的時(shí)候刪過(guò)測(cè)試庫(kù)
實(shí)習(xí)的時(shí)候刪過(guò)測(cè)試庫(kù),當(dāng)時(shí)是全組的開(kāi)發(fā)每人一個(gè)自己的測(cè)試庫(kù),但是是放在同一個(gè)MySQL服務(wù)上的。
干昏了把組里一個(gè)QA的測(cè)試庫(kù)給干掉了~
后來(lái)組里的老司機(jī)教了我一個(gè),對(duì)數(shù)據(jù)庫(kù)直接操作時(shí)養(yǎng)成習(xí)慣不管干啥都先敲個(gè)begin; 確認(rèn)沒(méi)問(wèn)題了再commit; 很多時(shí)候錯(cuò)誤的SQL執(zhí)行的時(shí)候就意識(shí)到了,這時(shí)候rollback還來(lái)得及~ 線上還沒(méi)出過(guò)事故,有次上線時(shí)弄錯(cuò)了還好rollback回來(lái)了~
教我的那個(gè)老司機(jī)現(xiàn)在已經(jīng)跳槽去別的公司了,但是我感覺(jué)這個(gè)習(xí)慣背后是有故事的,一直沒(méi)有機(jī)會(huì)問(wèn)問(wèn)他~
9.過(guò)度興奮刪庫(kù)
十年前吧,連續(xù)干了36小時(shí),把存儲(chǔ)過(guò)程調(diào)試完很興奮,清理測(cè)試數(shù)據(jù)時(shí)順手就把主數(shù)據(jù)表truncate了。
那感覺(jué)天塌下來(lái)一樣!
抖了十分鐘,想起來(lái)還好有備份,但當(dāng)時(shí)沒(méi)敢動(dòng)。
把業(yè)務(wù)停了回去睡覺(jué),怕一激動(dòng)把備份truncate 了。
第二天找到兄弟陪著,把表恢復(fù)了。
10.我死了
記得去年在廣西,核心網(wǎng)新加一個(gè)硬盤(pán)。
按規(guī)范新硬盤(pán)上之前要先格式化一下,簡(jiǎn)單的命令,一個(gè)回車(chē)下去搞定。
等格完,新硬盤(pán)安裝完畢。
回去睡覺(jué),第二天一早炸了,幾十萬(wàn)用戶(hù)掛了吧。
關(guān)鍵是還沒(méi)有備份,后面的事情圈內(nèi)人應(yīng)該都知道了吧。
11.不小心沒(méi)做過(guò),惡意的遇到過(guò)
不小心沒(méi)做過(guò),惡意的遇到過(guò),以前在某全球500強(qiáng)公司工作的時(shí)候,遇到過(guò)有人惡意把數(shù)據(jù)庫(kù)連同備份刪光光,發(fā)現(xiàn)后反饋給上級(jí),花了巨資請(qǐng)很多公司恢復(fù),還拿到專(zhuān)門(mén)的硬盤(pán)恢復(fù)機(jī)構(gòu),然后請(qǐng)了做安全方面的巨牛公司(好幾家)查兇手,最后的結(jié)果是失敗,既沒(méi)有恢復(fù),也沒(méi)查出是誰(shuí)干的,一來(lái)是內(nèi)部的人不好查,因?yàn)楹芏嗳酥拦芾韱T密碼,還記得密碼是:(此處省略,可能會(huì)暴露身份,哈哈),這個(gè)刪的人比較懂,應(yīng)該是堵死所有能查他身份的路還有恢復(fù)備份的路(備份只有一份),我一直懷疑是某小哥哥干的,因?yàn)槟翘焓撬诠镜淖詈笠惶欤D(zhuǎn)天的飛機(jī)出國(guó)了,是移民不回來(lái),大家估計(jì)都懷疑是他,但沒(méi)有證據(jù),也不知道誰(shuí)怎么得罪他了。
也可能是其他人想栽贓他。
里面最重要的是該公司進(jìn)入中國(guó)以來(lái)的所有財(cái)務(wù)數(shù)據(jù),好在有物理單據(jù),老大也有招兒,聯(lián)系本地高校,花小錢(qián)讓一批大學(xué)生來(lái)幫助重新錄入的。
錄了三個(gè)月才補(bǔ)好,后來(lái)就加強(qiáng)了安全措施和多份備份。
管理員密碼只有少數(shù)人知道了。
家賊難防。
end
來(lái)源:知乎https://www.zhihu.com/question/58802374
本文內(nèi)容來(lái)自互聯(lián)網(wǎng),如果侵犯了您的權(quán)益,請(qǐng)聯(lián)系管理員立即刪除(附上內(nèi)容地址)
錘子簡(jiǎn)歷,名企精英都在用的專(zhuān)業(yè)簡(jiǎn)歷,700萬(wàn)優(yōu)秀人才選擇的智能簡(jiǎn)歷工具,注冊(cè)即可免費(fèi)領(lǐng)取簡(jiǎn)歷模板!
【使用錘子簡(jiǎn)歷小程序制作簡(jiǎn)歷】
零經(jīng)驗(yàn)實(shí)習(xí)簡(jiǎn)歷模板
21254人用過(guò)
學(xué)生求職簡(jiǎn)歷模板
52754人用過(guò)
申請(qǐng)研究生簡(jiǎn)歷模板
2324人用過(guò)
經(jīng)典工作簡(jiǎn)歷模板
6254人用過(guò)
投行咨詢(xún)簡(jiǎn)歷模板
12465人用過(guò)
產(chǎn)品經(jīng)理簡(jiǎn)歷模板
7532人用過(guò)
程序員簡(jiǎn)歷模板
7457人用過(guò)
留學(xué)英文簡(jiǎn)歷模板
4554人用過(guò)