專職做DBA已經(jīng)6年多的事件了,看同行、同事犯了太多的錯誤,自己也犯了非常多的錯誤。一路走來,感觸非常深。然而絕大多數(shù)的錯誤其實都是很低級的錯誤。有的是因為不了解某個引擎的特性導(dǎo)致;有的是因為對線上環(huán)境不了解導(dǎo)致;有的是因為經(jīng)驗不足導(dǎo)致;一路上,跌跌撞撞,從小公司DBA,到騰訊高級DBA,再到現(xiàn)在的金融數(shù)據(jù)庫DBA。 不由得想起5年前的我,剛進(jìn)入DBA行業(yè),缺乏經(jīng)驗,經(jīng)常犯錯誤,不是我不夠努力,更多的是初來咋到的我根本不知道應(yīng)該在哪方面下功夫。本文就是基于這方面的考慮,根據(jù)自己在DBA這個職業(yè)上走過的彎路,總結(jié)一些方法給DBA的同行。希望本文能給同行DBA或者運(yùn)維的朋友們帶來一些改變,讓大家知道作為一個DBA需要在哪些方面下功夫。下面主要從環(huán)境、數(shù)據(jù)安全、常規(guī)操作、預(yù)案、架構(gòu)、心態(tài)等層面,同時也會介紹一些實用的經(jīng)驗。

<1>環(huán)境篇

毫無疑問,DBA是需要綜合技能最多的一個職業(yè),需要你有網(wǎng)絡(luò)、操作系統(tǒng)、文件系統(tǒng)、數(shù)據(jù)庫、安全、編程等知識。作為DBA,為了少犯錯誤,你首先得非常熟悉你負(fù)責(zé)的數(shù)據(jù)庫環(huán)境,大到網(wǎng)絡(luò)環(huán)境、系統(tǒng)環(huán)境、數(shù)據(jù)庫環(huán)境(這里主要以mysql為例)。如果不熟悉環(huán)境,很容易因為自身操作考慮不周而導(dǎo)致線上的故障。想想就知道,有多少DBA因為alter操作導(dǎo)致的線上故障?有多少DBA忽略了字符集的問題導(dǎo)致了線上的亂碼?又有多少DBA由于遷移的時候沒有備份觸發(fā)器或者event導(dǎo)致的故障?太多的教訓(xùn)足以讓我們所有的DBA認(rèn)識到熟悉環(huán)境的重要性。另外DBA對線上環(huán)境如果足夠了解,在處理故障、討論處理方案等,都能極大地增強(qiáng)我們的自信,更好地提升自己的影響力。我們可以說不熟悉環(huán)境的DBA不是好DBA。下面來介紹環(huán)境部分我們DBA應(yīng)該注意的問題:

1、軟件環(huán)境

1.1 操作系統(tǒng)環(huán)境

針對操作系統(tǒng)部分,你可能需要了解的是使用的操作系統(tǒng)類型,linux or windows,該系統(tǒng)做了哪些內(nèi)核的優(yōu)化,尤其是針對數(shù)據(jù)庫,比如文件描述符、配置ntp、raid的寫cache模式等,另外你還要對系統(tǒng)的運(yùn)行狀態(tài)有大致的了解,CPU使用、內(nèi)存使用、IO使用以及網(wǎng)絡(luò)帶寬和包量的情況。

1.2 數(shù)據(jù)庫環(huán)境

網(wǎng)友評論