標籤:l資料庫 官方文檔 linux 實戰 rac 高效能 最大 選擇 電腦
本人是個活生生的例子,大學學的儀器儀錶專業,12年畢業後第一份工作是電路板測試。由於項目中接觸到了資料庫的東西,純粹當進階點的excel表格用的。
當時有點興趣,沒參加過培訓,0基礎自學mysql和linux,現任國內某公用雲端mysql &&mongodb dba。
對於非電腦出身的我,大學只會hello word和跑馬燈,期間過程確實非常曲折,分享下我的自學過程:
1、 自己在windows和linux上安裝了mysql,自學linux的基礎知識,學習mysql的最基礎的知識,即
怎麼寫sql,預存程序,表的設計等,從0到熟悉大概花了3個月 ,推薦
《mysql入門很簡單》。
2、系統地較為深入地學習
mysql的sql最佳化,備份和恢複,參數最佳化,架構最佳化,硬體層面的最佳化,高可用方案,複製技術等等,這段時間你不一定能實際接觸到這些,就像我當初那樣,肯定沒什麼公司招一個小白。
我選擇自己看書,推薦
《高效能mysql》,裡面所有的章節都需要看一遍,以現在的水平肯定看不懂,但需要知道大概怎麼回事,為後續的找mysql初級dba的工作打一個鋪墊,這個過程大概也需要3個月。
3、 紙上得來終覺淺,完成以上兩步,我開始準備
找一份mysql相關的工作,而不是天天用著excel表格做著select * from table_sb這樣的工作。
當然我這麼猥瑣的人肯定不會裸辭,該畫的電路板也一樣畫,業餘時間開始投初級mysql dba的工作,並且不間斷地學習,網上各種找mysql面試的相關題目(實際上我當時完全沒有任何實戰經驗),陸續收到一些面試,憑藉之前自學的mysql知識,開始胡亂吹牛逼,先混進去再說。
你不做mysql實際相關的工作,永遠也不知道自己之前認知的db知識有多幼稚。
友情提示一點,一般公司都沒有專職dba的,所以面試的時候一定要自信,其實你學了這麼多,雖然毫無實戰經驗,理論知識很大機率比面試你的人牛逼,所以各種吹,我就這樣真正進入初級dba的圈子(由於這時對linux還處於cd ls的水平,所以之前也根本沒做過營運),這個邊工作邊找工作的過程又持續了2個月。
4、真正進入互連網,接觸生產環境後,這是我進步最大的時候。
第一步需要
將之前所學真正地應用起來,並且應用的過程中,再回頭看之前的書籍,這時候需要真正去理解,而不是似是而非,一知半解。
這時再推薦
《高效能mysql 第三版》,全本再看一遍,這時需要全部看懂,另外還有
《mysql技術內幕:innodb儲存引擎》等等。
總之這段時間就需要
開始關注mysql一些細節了,比如
db故障處理,高可用,負載平衡等等的具體實現了。
另外,
linux的知識同步也要深入去學習,至少會寫shell指令碼,常見的linux知識等,我在這花了1年多;
5、 dba的工作一般是非常輕閑的,畢竟不是大公司,技術能力有限,該學的也學得差不多了,接觸不到
海量資料,高並發等比較鍛煉人的場合,於是我又準備跳了。
於是來了公用雲端,現在每天營運萬多個db執行個體,平均每天處理5+個緊急db故障,幾乎mysql會遇到的問題,感覺都遇到了,能感覺到技術實力和經驗也在每天都在積累,在進步。
但是感覺還是欠缺了很多,
下一步就看你選擇了,是再去研究原始碼,底層原理的東西多點,還是資料庫營運和應用多一點,就比如業界薑承堯,何登成與葉金榮的區別。
由於我的曆史原因,對c++等幾乎不懂,平時也用不到,所以看代碼等事實際太累,於是我再去學mongodb,接了公司mongodb營運的活,算是在廣度上的一個擴充,萬一哪天mysql不行了呢
6、 總之,對於db小白來說,最重要的一點就是,
學習的過程不能斷。
PS 上面的方法比較野路子,適合沒什麼基礎的童鞋,如果本來就是DBA,比如從oracle轉到mysql,那麼建議直接看mysql官方文檔,而官方文檔是db達到一定水平後必看,出問題時必查的權威文檔。 文章源自知乎,僅供學習參考(轉載) https://www.zhihu.com/question/34840297/answer/67536521
零基礎如何自學MySQL資料庫?