MySQL有什么推荐的学习书籍?
1.MySQL的使用
1.1 MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎
學(xué)習(xí)MySQL的使用,首推姜承堯的《MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎》,當然不是因為姜sir是我的經(jīng)理才推薦這本書。這本書確實做到了由漸入深、深入淺出,是中國人寫的最贊的MySQL技術(shù)書籍,符合國人的思維方式和閱讀習(xí)慣,而且,這本書簡直就是面試寶典,對于近期有求職MySQL相關(guān)崗位的朋友,可以認真閱讀,對找工作有很大的幫助。當然,也有人說這本書入門難度較大,這個就自己取舍了,個人建議就以這本書入門即可,有不懂的地方可以求助官方手冊和google。
1.2 MySQL的官方手冊
我剛開始學(xué)習(xí)MySQL的時候誤區(qū)就是,沒有好好閱讀MySQL的官方手冊。例如,我剛開始很難理解InnoDB的鎖,尤其是各個情況下如何加鎖,這個問題在我?guī)煹苓M入百度做DBA時,也困擾了他一陣子,我們兩還討論來討論去,其實,MySQL官方手冊已經(jīng)寫得清清楚楚,什么樣的SQL語句加什么樣的鎖,當然,MySQL的官方手冊非常龐大,一時半會很難看完,建議先看InnoDB相關(guān)的部分。
http://dev.mysql.com/doc/refman/5.7/en/innodb-storage-engine.html
1.3 MySQL排錯指南
《MySQL排錯指南》是2015年夏天引入中國的書籍,這本書可以說是DBA速成指南,介紹的內(nèi)容其實比較簡單,但是也非常實用,對于DBA這個講究經(jīng)驗的工種,這本書就是傳授經(jīng)驗的,可能對有較多工作經(jīng)驗的DBA來說,這本書基本沒有什么用,但是,對于剛?cè)肼殘龅男氯?#xff0c;或?qū)W校里的學(xué)生,這本書會有較大的幫助,非常推薦。
1.4 高性能MySQL
《高性能MySQL》是MySQL領(lǐng)域的經(jīng)典之作,擁有廣泛的影響力,學(xué)習(xí)MySQL的朋友都應(yīng)該有所耳聞,所以我就不作過多介紹,唯一的建議就是仔細看、認真看、多看幾遍,我每次看都會有不小的收獲。這就是一本雖然書很厚,但是需要一頁一頁、一行一行都認真看的書。
1.5 數(shù)據(jù)庫索引設(shè)計與優(yōu)化
如果認真學(xué)習(xí)完前面幾本書,基本上都已經(jīng)對MySQL掌握得不錯了,但是,如果不了解如何設(shè)計一個好的索引,仍然不能成為牛逼的DBA,牛逼的DBA和不牛逼的DBA,一半就是看對索引的掌握情況,《數(shù)據(jù)庫索引設(shè)計與優(yōu)化》就是從普通DBA走向牛逼DBA的捷徑,這本書在淘寶內(nèi)部非常推崇,但是在中國名氣卻不是很大,很多人不了解。這本書也是今年夏天剛有中文版本的,非常值得入手以后跟著練習(xí),雖然知道的人不多,豆瓣上也幾乎沒有什么評價,但是,強烈推薦、吐血推薦!
1.6 Effective MySQL系列
《Effective MySQL系列》是指:
- Effective MySQL Replication Techniques in Depth
- Effective MySQL之SQL語句最優(yōu)化
- Effective MySQL之備份與恢復(fù)
這一系列并不如前面推薦的好,其中,我只看了前兩本,這幾本書只能算是小冊子,如果有時間可以看看,對某一個”模塊”進入深入了解。
2.MySQL的源碼
關(guān)于MySQL源碼的書非常少,還好現(xiàn)在市面上有兩本不錯的書,而且剛好一本講server層,一本講innodb存儲引擎層,對于學(xué)習(xí)MySQL源碼會很有幫助,至少能夠更加快速地了解MySQL的原理和宏觀結(jié)構(gòu),然后再深入細節(jié)。此外,還有一些博客或PPT將得也很不錯,這里推薦最好的幾份材料。
2.1 InnoDB - A journey to the core
《InnoDB - A journey to the core》 是MySQL大牛Jeremy Cole寫的PPT,介紹InnoDB的存儲模塊,即表空間、區(qū)、段、頁的格式、記錄的格式、槽等等。是學(xué)習(xí)Innodb存儲的最好的材料。感謝Jeremy Cole!
2.2 深入MySQL源碼
登博的分享《深入MySQL源碼》,相信很多想了解MySQL源碼的朋友已經(jīng)知道這份PPT,就不過多介紹,不過,要多說一句,登博的參考資料里列出的幾個博客,都要關(guān)注一下,干貨滿滿,是學(xué)習(xí)MySQL必須關(guān)注的博客。
2.3 深入理解MySQL核心技術(shù)
《深入理解MySQL核心技術(shù)》是第一本關(guān)于MySQL源碼的書,著重介紹了MySQL的Server層,重點介紹了宏觀架構(gòu),對于剛開始學(xué)習(xí)MySQL源碼的人,相信會有很大的幫助,我在學(xué)習(xí)MySQL源碼的過程中,反復(fù)的翻閱了幾遍,這本書剛開始看的時候會很痛苦,但是,對于研究MySQL源碼,非常有幫助,就看你是否需要,如果沒有研究MySQL源碼的決心,這本書應(yīng)該會被唾棄。
2.4 MySQL內(nèi)核:InnoDB存儲引擎
我們組的同事寫的《MySQL內(nèi)核:InnoDB存儲引擎》,可能宇宙范圍內(nèi)這本書就數(shù)我學(xué)得最認真了,雖然書中有很多編輯錯誤,但是,平心而論,還是寫得非常好的,相對于《深入理解MySQL核心技術(shù)》,可讀性更強一些,建議研究Innodb存儲引擎的朋友,可以了解一下,先對Innodb有一個宏觀的概念,對大致原理有一個整體的了解,然后再深入細節(jié),肯定會比自己從頭開始研究會快很多,這本書可以幫助你事半功倍。
2.5 MySQL Internals Manual
《MySQL Internals Manual》相對于MySQL Manual來說,寫的太粗糙,誰讓人家是官方文檔呢,研究MySQL源碼的時候可以簡單地參考一下,但是,還是不要指望文檔能夠回答你的問題,還需要看代碼才行。
http://dev.mysql.com/doc/internals/en/
2.6 MariaDB原理與實現(xiàn)
評論里提到的《MariaDB原理與實現(xiàn)》我也買了一本,還不錯,MariaDB講的并不多,重點講了Group Commit、線程池和復(fù)制的實現(xiàn),都是MySQL Server層的知識,對MySQL Server層感興趣的可以參考一下。
總結(jié)
以上是生活随笔為你收集整理的MySQL有什么推荐的学习书籍?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: avidemux 拼接_如何使用Avid
- 下一篇: Quartz.基本使用