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