目前大部分軟件開發平臺都基于Linux,很多互聯網公司都把MySQL作為后端數據存儲的數據庫。如果把MySQL比喻成數據庫界的一條巨龍,則本書涵蓋的所有知識點就是這條巨龍的組成部分。本書深入剖析MySQL數據庫體系結構,實戰演練備份恢復、主從復制,詳解高可用集群架構的設計與實踐過程,詳細梳理優化思路,展現新版本的特性,并與真實生產案例相結合,通過核心原理到王者實戰,全面覆蓋MySQL數據庫的知識點。
找到一份合適的工作,就像在工作的八小時之內有了一個心儀的戀人MySQL數據庫就是我的甜蜜愛戀。
我上學時特別不愛學習,也從來沒有想過,也不敢想,有一天自己會寫本書。作為一個在數據庫領域摸爬滾打近十年的老司機,從一個什么都不會的菜鳥,做到公司的高管兼資深數據庫講師,我很希望把自己這些年積累下來的實戰經驗和一些學習MySQL數據庫的心得體會分享給大家。我很能理解那些剛進入數據庫領域的同學的困惑,因為自己剛學習MySQL的時候,就跟無頭蒼蠅一樣,遇到報錯后在網上到處找資料,關鍵是看完資料后有些問題可能還是解決不了,因為不知道哪種處理方法是對的。當時很崩潰,真心不知道該從哪里下手學習才好。別人還經常推薦一些過于偏向概念性敘述的數據庫書籍,越看越暈。我當時就想為什么非要把數據庫的知識點說得這么煩瑣、深奧,讓別人看不懂、理解不了呢?
寫作本書的目的
我平常喜歡寫一些技術博客,在51CTO上面寫了一篇青銅到王者,快速提高MySQL數據庫段位的文章,這篇文章指明了MySQL數據庫的一個學習方向,但沒有深入展開講解里面的核心知識點。有讀者發私信和留言說,能不能更具體地展開講解呢。所以我決定把里面所有核心的技術干貨寫成書,毫無保留地分享給大家。希望本書對大家在生產中實踐MySQL時有幫助,可以讓有一定基礎的、有工作經驗的運維人員和DBA更加深入地了解MySQL,使用和維護起來更加得心應手,更希望可以讓剛踏入數據庫領域的讀者快速掌握MySQL數據庫的核心知識體系,給那些想學習MySQL數據庫的入門者指明一個正確方向,少走一些彎路。讓我們一起朝著技術領域金字塔的塔尖大步前行。
如何閱讀本書
本書在知識結構上分為7部分。
第1部分 倔強青銅篇(第1~8章)。包括MySQL簡介、主流分支版本、數據庫安裝/啟動/關閉、權限管理、MySQL數據庫的內存池結構、存儲引擎、線程作用、刷新機制、數據庫文件、表管理、字符集、統計信息與數據碎片整理的方法。還包括對索引的詳細解讀,執行計劃的分析、壓力測試的展現、事務的介紹,以及對隔離級別的深度講解,并結合鎖一起展開學習。
第2部分 秩序白銀篇(第9章)。介紹生產環境中常用的備份方法、邏輯備份和裸文件備份。針對mysqldump、select…into outfile、mydumper和xtrabackup等備份恢復工具的原理展開詳解及實踐演練。
第3部分 榮耀黃金篇(第10~11章)。介紹主從復制的原理,對復制參數進行詳細講解,對半同步復制、多源復制、GTID復制進行全面解讀與實踐,對復制數據一致性的校驗和復制管理技巧進行介紹,并解讀主從復制中的各種報錯故障。
第4部分 尊貴鉑金篇(第12~15章)。介紹互聯網主流的MySQL高可用集群架構,對MHA、Keepalived、PXC原理的解析、維護管理與實踐,最后介紹ProxySQL這個強大的MySQL中間代理層的應用。
第5部分 永恒鉆石篇(第16~17章)。介紹MySQL5.7版本的新特性,以及通過硬件、操作系統、數據庫、程序設計這四個維度來全面介紹MySQL數據庫的優化。
第6部分 至尊星耀篇(第18~19章)。學習部署Lepus,監控MySQL與版本升級。
第7部分 最強王者篇 第20章。MySQL面試總結。
致謝
在我從事數據庫工作近十年的道路上,我要感謝那些曾經幫助過我的前輩們,當我遇到困難想要放棄這個行業時,是你們耐心的開導與指引,才使我沒有失去方向,一直堅持到今天。我也要感謝51CTO這個平臺,讓我可以把自己工作中的經驗分享給大家,感謝51CTO的運營經理高陽,不厭其煩地幫我整理博客中的一些素材,才能讓我的文章以很好的方式呈現給大家。最后還要感謝電子工業出版社的陳曉猛編輯,感謝你的獨具慧眼和對我無條件的支持與鼓勵,讓我可以非常順利地完成寫作。
技術無國界,讓我們一起熱愛技術、分享知識,打造出屬于自己的一片廣闊天空。此書獻給所有喜歡技術的朋友們!
聯系方式
歡迎大家與我互動,聯系方式如下。
博客:sumongodb.blog.51cto.com。
張甦
張甦,極數學院創始人之一,51CTO知名博主。近十年互聯網線上處理及培訓經驗,專注于MySQL數據庫,對MongoDB、Redis等NoSQL數據庫以及Hadoop生態圈相關技術有深入研究。曾就職于數據庫服務公司、某大型電商平臺,及汽車類網站等大型互聯網公司。麾下的學員遍布各大企業。