SQL入門有一本經常提起的書《SQL in 10minutes》這本能夠看看。常年amazon銷量前列。或者動物社的,learning SQL,也是很好的。mysql
你須要在實際操做中累積經驗,由於任何非實際項目你沒法真實碰觸到實際數據庫結構,學習用的都很是簡單,不會遇到複雜狀況,而SQL使用的水平之一便是寫出高效的SQL。linux
條條大路通羅馬,在SQL更是如此,有時候你須要用不少union才能解決問題,別人一個select就能解決,這主要就是經驗。redis
這一塊是沒法經過教與學瞭解的,沒辦法告訴你,這個狀況用這個,那個狀況用那個,只有在真實戰場拼殺,纔會切身體會到。sql
1. 在學習新的東西的時候,咱們至少從三個問題開始。What?why?how?shell
2. 學習須要堅持,若是還沒準備好堅持半年比較枯燥的MySQL之旅,那麼就別開始。數據庫
3. 學習東西不在多,在精,市面上有很是多的MySQL教程,不要瞎學,今天這裏學一點,明天那裏學一點,這樣你學的都只是知識點,沒法造成一個知識面,知識網絡。編程
4. 在學習過程當中充滿好奇,使用google進行問題搜索,千萬不要使用度娘了,質量不高。至於怎麼用Google,請自行搜索。vim
5. 學習的目的在於使用,所以,不要僅僅看書,看一遍,看兩遍,你可能仍是沒什麼感受。所以學習一開始,就要動手練習,把資料上的狀況,模擬一下。windows
6. 請不要在windows上安裝mysql進行學習,由於工做中都是linux系統。咱們須要從一開始就是實戰,就是生產環境。緩存
7. 保持好心態,一步一個腳印的前進。
1.系統,固然windos基本的要會。而後就是Linux系統,如今作MySQL DBA的系統多數都是Linux系統,而生產環境大多又是RedHat,Centos。其餘的Linux和Unix系統能夠只作瞭解。
2.Linux基礎,網絡,IO,內存,磁盤,CPU。包括不限於 安裝,啓動過程,目錄結構,遠程登陸,文件屬性與管理,用戶與用戶權限,LAMP結構vim,yum等shell命令,dns,ftp,以及一些經常使用工具。
3.MySQL基礎: MySQL安裝、MySQL體系結構,SQL,MySQL管理維護。
4.數據備份與恢復,經常使用的引擎:MyISAM、Innodb、NDB等。
5.數據庫設計優化,一個好的MySQL系統,每每從設計開始。
6. SQL優化,參數優化,監控,安全等。
7.MySQL負載均衡,讀寫分離,MHA,MMM高可用架構,以及分佈式架構:mycat、maxscale、galera cluster、MySQL Group Replication等。
8.mysql5.6,mysql5.7新特性,mariadb、percona分支的差別和特色。
9.MySQL JSON、MySQL memcached。
10.常見MySQL搭配的緩存系統,redis,memcached,以及NOSQL、NEWSQL。
請不要被上面繁多的知識嚇到,只要堅持,天天花1-2個小時,半年時間,就能夠勝任一個DBA新手了,在工做中,再慢慢積累,不斷學習。
沉澱1年,你幾乎能夠解決生產環境中99.99%的問題了,你就再也不是新手了,你是一隻合格的老鳥。
另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!
免費學習資料: