【轉】推薦幾本學習MySQL的好書-MySQL 深入的書籍

目錄(?)[-]

  1. MySQL的使用
    1. 1 MySQL技術內幕InnoDB存儲引擎
    2. 2 MySQL的官方手冊
    3. 3 MySQL排錯指南
    4. 4 高性能MySQL
    5. 5 數據庫索引設計與優化
    6. 6 Effective MySQL系列
  2. MySQL的源碼
    1. 21 InnoDB - A journey to the core
    2. 2 深入MySQL源碼
    3. 3 深入理解MySQL核心技術
    4. 4 MySQL內核InnoDB存儲引擎
    5. 5 MySQL Internals Manual
    6. 6 MariaDB原理與實現
  3. 後記
  4. MySQL配套培訓視頻(姜承堯)

出處:http://mingxinglai.com/cn/2015/12/material-of-mysql/

雖然我自己目前還不是大牛,不過正走在成爲大牛的路上。我個人比較幸運,實習的時候在登博(何登成)手下實習,從登博那裏學到不少東西,畢業以後,有幸投奔另一位MySQL大牛姜sir(姜承堯),目前還在姜sir手下工作,對目前的工作狀態比較滿意(我們組持續招人中),這兩位都是技術實力強,卻又非常好相處,非常平易近人的大牛,讓我打內心欣賞、崇拜,真希望自己能夠達早日到他們的水平。相信不是所有人都有我這麼幸運。對於想在數據庫層面深入的朋友,我這裏推薦幾本MySQL的好書,應該能夠有效避免學習MySQL的彎路,並且達到一個不錯的水平。

我這裏推薦的書或材料分爲兩個部分,分別是MySQL的使用和MySQL的源碼學習。在介紹的過程中,我會穿插簡單的評語或感想。


我這裏推薦幾本MySQL的好書,應該能夠有效避免學習MySQL的彎路,並且達到一個不錯的水平。 我這裏推薦的書或材料分爲兩個部分,分別是MySQL的使用和MySQL的源碼學習。在介紹的過程中,我會穿插簡單的評語或感想。

1.MySQL的使用

1.1 MySQL技術內幕:InnoDB存儲引擎

學習MySQL的使用,首推姜承堯的《MySQL技術內幕:InnoDB存儲引擎》,當然不是因爲姜sir是我的經理才推薦這本書。這本書確實做到了由漸入深、深入淺出,是中國人寫的最讚的MySQL技術書籍,符合國人的思維方式和閱讀習慣,而且,這本書簡直就是面試寶典,對於近期有求職MySQL相關崗位的朋友,可以認真閱讀,對找工作有很大的幫助。當然,也有人說這本書入門難度較大,這個就自己取捨了,個人建議就以這本書入門即可,有不懂的地方可以求助官方手冊和google。

MySQL技術內幕

1.2 MySQL的官方手冊

我剛開始學習MySQL的時候誤區就是,沒有好好閱讀MySQL的官方手冊。例如,我剛開始很難理解InnoDB的鎖,尤其是各個情況下如何加鎖,這個問題在我師弟進入百度做DBA時,也困擾了他一陣子,我們兩還討論來討論去,其實,MySQL官方手冊已經寫得清清楚楚,什麼樣的SQL語句加什麼樣的鎖,當然,MySQL的官方手冊非常龐大,一時半會很難看完,建議先看InnoDB相關的部分。

http://dev.mysql.com/doc/refman/5.7/en/innodb-storage-engine.html

1.3 MySQL排錯指南

MySQL排錯指南》是2015年夏天引入中國的書籍,這本書可以說是DBA速成指南,介紹的內容其實比較簡單,但是也非常實用,對於DBA這個講究經驗的工種,這本書就是傳授經驗的,可能對有較多工作經驗的DBA來說,這本書基本沒有什麼用,但是,對於剛入職場的新人,或學校裏的學生,這本書會有較大的幫助,非常推薦。

MySQL排錯指南

1.4 高性能MySQL

高性能MySQL》是MySQL領域的經典之作,擁有廣泛的影響力,學習MySQL的朋友都應該有所耳聞,所以我就不作過多介紹,唯一的建議就是仔細看、認真看、多看幾遍,我每次看都會有不小的收穫。這就是一本雖然書很厚,但是需要一頁一頁、一行一行都認真看的書。

高性能MySQL

1.5 數據庫索引設計與優化

如果認真學習完前面幾本書,基本上都已經對MySQL掌握得不錯了,但是,如果不瞭解如何設計一個好的索引,仍然不能成爲牛逼的DBA,牛逼的DBA和不牛逼的DBA,一半就是看對索引的掌握情況,《數據庫索引設計與優化》就是從普通DBA走向牛逼DBA的捷徑,這本書在淘寶內部非常推崇,但是在中國名氣卻不是很大,很多人不瞭解。這本書也是今年夏天剛有中文版本的,非常值得入手以後跟着練習,雖然知道的人不多,豆瓣上也幾乎沒有什麼評價,但是,強烈推薦、吐血推薦!

數據庫索引設計與優化

1.6 Effective MySQL系列

Effective MySQL系列》是指:

  • Effective MySQL Replication Techniques in Depth
  • Effective MySQL之SQL語句最優化
  • Effective MySQL之備份與恢復

effective

這一系列並不如前面推薦的好,其中,我只看了前兩本,這幾本書只能算是小冊子,如果有時間可以看看,對某一個”模塊”進入深入瞭解。

2.MySQL的源碼

關於MySQL源碼的書非常少,還好現在市面上有兩本不錯的書,而且剛好一本講server層,一本講innodb存儲引擎層,對於學習MySQL源碼會很有幫助,至少能夠更加快速地瞭解MySQL的原理和宏觀結構,然後再深入細節。此外,還有一些博客或PPT將得也很不錯,這裏推薦最好的幾份材料。

2.1 InnoDB - A journey to the core

InnoDB - A journey to the core》 是MySQL大牛Jeremy Cole寫的PPT,介紹InnoDB的存儲模塊,即表空間、區、段、頁的格式、記錄的格式、槽等等。是學習Innodb存儲的最好的材料。感謝Jeremy Cole!

2.2 深入MySQL源碼

登博的分享《深入MySQL源碼》,相信很多想了解MySQL源碼的朋友已經知道這份PPT,就不過多介紹,不過,要多說一句,登博的參考資料裏列出的幾個博客,都要關注一下,乾貨滿滿,是學習MySQL必須關注的博客。

2.3 深入理解MySQL核心技術

深入理解MySQL核心技術》是第一本關於MySQL源碼的書,着重介紹了MySQL的Server層,重點介紹了宏觀架構,對於剛開始學習MySQL源碼的人,相信會有很大的幫助,我在學習MySQL源碼的過程中,反覆的翻閱了幾遍,這本書剛開始看的時候會很痛苦,但是,對於研究MySQL源碼,非常有幫助,就看你是否需要,如果沒有研究MySQL源碼的決心,這本書應該會被唾棄。

深入理解MySQL核心技術

2.4 MySQL內核:InnoDB存儲引擎

我們組的同事寫的《MySQL內核:InnoDB存儲引擎》,可能宇宙範圍內這本書就數我學得最認真了,雖然書中有很多編輯錯誤,但是,平心而論,還是寫得非常好的,相對於《深入理解MySQL核心技術》,可讀性更強一些,建議研究Innodb存儲引擎的朋友,可以瞭解一下,先對Innodb有一個宏觀的概念,對大致原理有一個整體的瞭解,然後再深入細節,肯定會比自己從頭開始研究會快很多,這本書可以幫助你事半功倍。

MySQL內核

2.5 MySQL Internals Manual

MySQL Internals Manual》相對於MySQL Manual來說,寫的太粗糙,誰讓人家是官方文檔呢,研究MySQL源碼的時候可以簡單地參考一下,但是,還是不要指望文檔能夠回答你的問題,還需要看代碼才行。

http://dev.mysql.com/doc/internals/en/

2.6 MariaDB原理與實現

評論裏提到的《MariaDB原理與實現》我也買了一本,還不錯,MariaDB講的並不多,重點講了Group Commit、線程池和複製的實現,都是MySQL Server層的知識,對MySQL Server層感興趣的可以參考一下。

MariaDB

3. 後記

希望這裏推薦的材料對學習MySQL的同學、朋友有所幫助,也歡迎推薦靠譜的學習材料,大家共同進步。



4. MySQL配套培訓視頻(姜承堯)

視頻地址:https://www.bilibili.com/video/av20081312/

課程概覽:

業界最權威的MySQL數據庫培訓師姜承堯老師(也就是Inside君本人啦)親授.
姜承堯老師出版了《MySQL技術內幕:InnoDB存儲引擎》、《MySQL內核:InnoDB存儲引擎》等Mysql書籍。
課程緊密結合互聯網公司實踐,學員能夠領略到BAT、網易等大公司的數據庫架構與應用案例
課綱結合最新的MySQL 5.6、5.7版本,使得學員學到的都是最新的內容
充分掌握課程內容的學員年薪至少在25W起,第1期的學員已經證明了培訓的價值
優秀學員可以獲得姜老師的BAT等大型互聯網公司的內推
面試技巧與簡歷模板(新增),幫助學員拿到更好的offer

【MySQL 安裝與引擎】
day001-MySQL 5.7介紹和安裝
day002-MySQL 5.7安裝多實例
day003-MySQL升級 參數 連接 權限
day004-MySQL權限拾 遺Role模擬 Workbench 體系結構

day005-slow_log generic_log audit 存儲引擎一
day006-存儲引擎二 多實例安裝上
day007-MySQL 多實例下 SSL
MySQL 數據類型和SQL查詢 開發
day008-MySQL 數據類型
day009-精通JSON類型
day010-Employees 臨時表的創建 外鍵約束

day011-SQL語法之SELECT
day012-子查詢 INSERT UPDATE DELETE REPLACE
day013-作業講解一 Rank 視圖 UNION 觸發器上
day014-觸發器下 存儲過程 自定義函數
MySQL 執行計劃與優化器
day015-索引 B+樹 上
day016-索引 B+樹 下 Explain 1
day017-Explain 2

【MySQL innodb引擎優化】
day018-磁盤
day019-磁盤測試
day020-InnoDB_1 表空間 General
day021-InnoDB_2 SpaceID.PageNumber 壓縮表)
day022-InnoDB_3 透明表空間壓縮 索引組織表
day023-InnoDB_4 頁(2) 行記錄
day024-InnoDB_5 – heap_number Buffer Poo
day025-InnoDB_6 Buffer Pool與壓縮頁 CheckPoint LSN
day026-InnoDB_7 doublewrite ChangeBuffer AHI FNP

【MySQL 索引與innodb鎖機制】
day027-Secondary Index
day028-join算法鎖_1
day029-鎖_2
day030-鎖_3
day031-鎖_4
day032-鎖_5
day032-鎖5標清
day033-鎖_6 事物_1

day033-鎖_6 事物1標清

day034-事務_2  MySQL 性能衡量
day035-redo_binlog_xa
day036-undo_sysbench
day036-undosysbench標清
day037-tpcc_mysqlslap

【MySQL 備份與恢復】
day038-purge死鎖舉例_MySQL backup備份_1
day039-MySQL backup備份恢復_2

【MySQL 複製技術與高可用】
day040-MySQL 備份恢復backup_3_replication_1
day041-backup_4-replication_2
day042-replication_3
day043-replication_4-GTID 1
day044-replication_5-GTID 2


發佈了14 篇原創文章 · 獲贊 28 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章