MySQL 8.0原理與實(shí)戰(zhàn)一網(wǎng)打盡,甲骨文數(shù)據(jù)庫(kù)專家硬剛5年之作
根據(jù)權(quán)威數(shù)據(jù)庫(kù)技術(shù)排名網(wǎng)站DB-Engines今年4月的最新數(shù)據(jù),MySQL是全球最流行的開源數(shù)據(jù)庫(kù),沒有之一。在所有數(shù)據(jù)庫(kù)排名中,MySQL僅次于Oracle,“屈居”亞軍之位。但大家從截圖中可以看出,MySQL與Oracle的得分差距已經(jīng)非常小了。

“開源壯年”數(shù)據(jù)庫(kù)MySQL自1995年發(fā)布1.0版本以來,迄今已經(jīng)走過了28個(gè)年頭。從誕生之初的“玩具型”數(shù)據(jù)庫(kù),到如今互聯(lián)網(wǎng)行業(yè)的事實(shí)標(biāo)配,它之所以流行,可歸結(jié)為以下幾點(diǎn)。
1.?開源免費(fèi):MySQL是一個(gè)開源的數(shù)據(jù)庫(kù)管理系統(tǒng),不僅性能卓越,而且是完全免費(fèi)的,對(duì)于個(gè)人開發(fā)者和中小企業(yè)非常友好。
2.?多語(yǔ)言支持:MySQL支持多種編程語(yǔ)言,包括PHP、Java、Python等,極大地?cái)U(kuò)展了MySQL的適用范圍。
3.?高性能:MySQL能夠提供出色的性能,并能夠靈活地適應(yīng)多種應(yīng)用場(chǎng)景和業(yè)務(wù)需求。
4.?可擴(kuò)展性:MySQL可以輕松地?cái)U(kuò)展集群和數(shù)據(jù)庫(kù)復(fù)制,使得其能夠適應(yīng)不斷增加的數(shù)據(jù)存儲(chǔ)需求。
5.?可移植性:MySQL支持多種操作系統(tǒng),例如Windows、Linux、UNIX等,這使得MySQL在不同的操作平臺(tái)上具有高度的可移植性。
6.?社區(qū)支持:MySQL擁有龐大的社區(qū)支持,提供了豐富的文檔、工具、插件、示例等資源,為用戶提供了更加便利的開發(fā)和維護(hù)環(huán)境。
總結(jié)為一句話,開源、簡(jiǎn)單、易用,高性能、可擴(kuò)展、可移植,以及社區(qū)強(qiáng)大的支持——哪個(gè)開發(fā)者不愛這樣的數(shù)據(jù)庫(kù)呢?哪個(gè)中小企業(yè)不愛這樣的數(shù)據(jù)庫(kù)呢?
目前,生產(chǎn)上用得比較多的是MySQL 5.6和MySQL 5.7。大家也知道,2023年10月,MySQL 5.7將停止更新,結(jié)束其生命周期,而MySQL 5.6在2年前就停更了。一句話,遷移到MySQL 8.0勢(shì)在必行,而充分利用MySQL 8.0的新特性提高生產(chǎn)力就成為重中之重。

怎么辦?網(wǎng)絡(luò)上的信息是如此零散和碎片化,而市面上MySQL相關(guān)的書一般版本較老,大部分還是基于MySQL 5.6和MySQL 5.7。
涼拌?大可不必。推薦一本幫助大家解決燃眉之急的新書。既聚焦MySQL 8.0相關(guān)問題,又深度解讀常用工具和常用操作原理!
而非常關(guān)鍵的是,這本新書出自目前擔(dān)任甲骨文首席工程師,擁有10多年數(shù)據(jù)庫(kù)管理和架構(gòu)經(jīng)驗(yàn)的陳臣老師。本書的寫作歷時(shí)五年,三易其稿,現(xiàn)在終于跟大家見面了,它不像ChatGPT,給你的解決方案好看不夠好用,偶爾還能一本正經(jīng)地捏造(而你找bug還挺費(fèi)勁兒),本書給出的是完整、細(xì)致、靠譜、可落地的解決方案。

本書基于MySQL 8.0,不僅介紹了可以拿來即用的實(shí)戰(zhàn)內(nèi)容,還專門剖析了各個(gè)操作背后的實(shí)現(xiàn)原理,讓你不僅知其然,也知其所以然。此外,每章最后還會(huì)通過列出問題的方式梳理重點(diǎn),不僅可以用來檢驗(yàn)對(duì)內(nèi)容的掌握程度,也可以作為很好的面試題。
本 書 內(nèi) 容
本書以MySQL 8.0為主,全面系統(tǒng)地闡述了 MySQL 日常使用及管理過程中的一些常用知識(shí)點(diǎn):安裝、復(fù)制、binlog、備份、監(jiān)控、DDL、線程池、中間件、常用工具、組復(fù)制、InnoDB Cluster、JSON、MySQL 8.0 的新特性。
本書定位于實(shí)戰(zhàn),目的是讓讀者拿來即用,快速上手 MySQL。除了實(shí)戰(zhàn),本書還花費(fèi)了大量的篇幅來講解 MySQL 中一些常見操作、常用工具的實(shí)現(xiàn)原理。
組復(fù)制是 MySQL 官方推薦的高可用方案,本書會(huì)從源碼角度分析組復(fù)制的一些核心模塊的實(shí)現(xiàn)細(xì)節(jié),包括分布式恢復(fù)、沖突檢測(cè)、事務(wù)一致性以及流量控制機(jī)制等。
大家通過下面的思維導(dǎo)圖可以查看本書的內(nèi)容。

本書一共12章,各章內(nèi)容如下。
第1章介紹了 MySQL 的兩種常用安裝方法以及兩種常用的MySQL 服務(wù)管理方式。
第2章從復(fù)制的基本原理出發(fā),系統(tǒng)介紹了 GTID 復(fù)制、半同步復(fù)制、并行復(fù)制、多源復(fù)制和延遲復(fù)制。
第3章首先分析了 binlog 的3種格式及其優(yōu)缺點(diǎn),接著演示了如何閱讀 binlog 和 relay log 中的內(nèi)容,然后介紹了 binlog 中常見的事件類型,最后基于 python-mysql-replication 打造了一個(gè) binlog 解析器。
第4章主要介紹了常用的復(fù)制管理操作,復(fù)制的監(jiān)控,如何分析主從延遲,主從延遲的常見原因及解決方法 Seconds_Behind_Master 的計(jì)算邏輯,如何監(jiān)控主從延遲,復(fù)制中的常見問題及解決方法。
第5章首先介紹了 MySQL 常見備份工具的具體用法及實(shí)現(xiàn)原理,然后介紹了與備份相關(guān)的兩個(gè)高頻操作,最后介紹了如何搭建 binlog server 以及如何檢測(cè)備份的有效性。
第6章介紹了業(yè)界流行的兩個(gè)開源監(jiān)控方案——Zabbix 和基于 Prometheus 開發(fā)的 PMM,以及 MySQL 中常用的監(jiān)控指標(biāo)。
第7章首先介紹了3種常用的表結(jié)構(gòu)變更方式——Online DDL、pt-online-schema-change和 gh-ost,接著介紹了元數(shù)據(jù)鎖的基本概念和引入背景,最后分析了如何定位 DDL 被阻塞的問題。
第8章圍繞連接池和線程池展開介紹。
第9章介紹了 MySQL 中一些常用工具的具體用法及實(shí)現(xiàn)原理。
第10章介紹了中間件 ProxySQL。
第11章系統(tǒng)介紹了組復(fù)制的引入背景、部署、監(jiān)控和常見的管理操作,并且基于源碼分析了組復(fù)制一些核心模塊的實(shí)現(xiàn)細(xì)節(jié)。
第12章系統(tǒng)介紹了 InnoDB Cluster 的兩大核心組件:MySQL Shell 和 MySQL Router。

1.?實(shí)戰(zhàn)性強(qiáng):案例豐富且可移植性強(qiáng),拿來即用。
2.?原理深入淺出:快速掌握 MySQL 常見操作的實(shí)現(xiàn)原理。
3.?源碼解析:從源碼角度理解組復(fù)制核心模塊的實(shí)現(xiàn)細(xì)節(jié)。
4. 作者靠譜:甲骨文首席工程師,“MySQL實(shí)戰(zhàn)”公眾號(hào)作者傾力打造。

業(yè)內(nèi)大咖力薦
我們有幸邀請(qǐng)到國(guó)內(nèi)頂尖大佬
謝鵬|葉金榮|沈劍
周彥偉|肖博|彭立勛
提前閱讀了本書
并且分享了他們的專家書評(píng)

MySQL 是流行的開源數(shù)據(jù)庫(kù)。陳臣所著的《MySQL實(shí)戰(zhàn)》是基于他自己的大規(guī)模數(shù)據(jù)庫(kù)管理實(shí)踐,結(jié)合源碼、官方文檔和原理形成的一本書,系統(tǒng)地介紹了在 MySQL 的管理、運(yùn)維和開發(fā)過程中使用范圍較廣但參考資料匱乏的工具。
——謝鵬
甲骨文(Oracle)公司全球副總裁
中國(guó)區(qū)技術(shù)總經(jīng)理
看完這本書的目錄及樣章,深感陳臣滿滿的誠(chéng)意。全書緊緊圍繞 MySQL 實(shí)戰(zhàn)的方方面面展開,有詳細(xì)的實(shí)戰(zhàn)細(xì)節(jié),更是對(duì)幾個(gè)關(guān)鍵知識(shí)點(diǎn)給了原理解讀,讓讀者能更好地理解,知其然且知其所以然。以“組復(fù)制”這一章為例,前半部分詳細(xì)演示了組復(fù)制的部署及管理操作,后半部分詳細(xì)分析了組復(fù)制的一些關(guān)鍵實(shí)現(xiàn)原理,其中原理解讀部分占了該章60%以上的篇幅,詳細(xì)程度可見一斑。強(qiáng)烈推薦這本書,絕對(duì)值得一看。
——葉金榮
Oracle MySQL ACE Director
騰訊云TVP成員
讀完樣章,內(nèi)容讓人驚艷:GTID 的原理與并行復(fù)制,主從原理與 binlog 細(xì)節(jié),XtraBackup 的巧妙原理,連接池與線程池,中間件的運(yùn)用實(shí)踐,包括最新的組復(fù)制實(shí)踐……沉下心,嚼碎這些內(nèi)容,我相信你一定能超越九成的 MySQL 從業(yè)人員。感謝陳臣的誠(chéng)意之作,讓大家學(xué)習(xí)MySQL又多了一個(gè)選擇。行業(yè)內(nèi)能有這樣的技術(shù)匠人,幸甚至哉!
——沈劍
公眾號(hào)“架構(gòu)師之路”作者
拿到這本書的書稿后,既覺得是意料之中,又確實(shí)出乎了意料。這本書算得上近年來國(guó)內(nèi) MySQL 領(lǐng)域出版物中內(nèi)容十分豐富、細(xì)節(jié)十分清晰、篇幅也是相當(dāng)長(zhǎng)的,其運(yùn)維實(shí)踐與源碼解析相結(jié)合的思路正與《MySQL運(yùn)維內(nèi)參》不謀而合,不愧為實(shí)戰(zhàn)之作。
——周彥偉
極數(shù)云舟創(chuàng)始人
《MySQL運(yùn)維內(nèi)參》作者
中國(guó)計(jì)算機(jī)行業(yè)協(xié)會(huì)數(shù)據(jù)庫(kù)專委會(huì)會(huì)長(zhǎng)這本書不僅包含了MySQL的實(shí)戰(zhàn)操作和對(duì)應(yīng)的理論知識(shí),還包含了 MySQL 的一些非常實(shí)用的周邊工具和中間件,實(shí)屬難得。不論對(duì)于數(shù)據(jù)庫(kù)初學(xué)者還是有經(jīng)驗(yàn)者,這本書都值得反復(fù)研讀,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。
——肖博
vivo研發(fā)總監(jiān)
陳臣是奮戰(zhàn)在運(yùn)維一線的 DBA 專家,見證過大型數(shù)據(jù)庫(kù)平臺(tái)從零開始建設(shè)的過程。他從一個(gè)數(shù)據(jù)庫(kù)運(yùn)維人員的角度幫大家把 MySQL 的整個(gè)運(yùn)維體系梳理了出來,書中不僅介紹了 MySQL 的原理、使用方法,更重要的是貢獻(xiàn)出了他自己的經(jīng)驗(yàn),包括對(duì) MySQL 生態(tài)的周邊工具、中間件、連接池等的介紹和使用經(jīng)驗(yàn)。這些經(jīng)驗(yàn)十分寶貴。非常推薦 MySQL DBA 們閱讀一下這本書,無論對(duì)于新手入門還是老手進(jìn)階,這本書都是不錯(cuò)的參考。
——彭立勛
ACMUG(中國(guó)MySQL用戶組)主席
Oracle MySQL ACE Director此外,MySQL 業(yè)界大佬吳炳錫老師在閱讀完該書的部分章節(jié)后,也表示:“2023年了,《MySQL實(shí)戰(zhàn)》這本書還是值得推薦的。”
本書適合人群

關(guān)于作者陳臣

新書上市
限時(shí)5折,包郵到手 74.9元 !
快掃描海報(bào)上的二維碼搶購(gòu)吧
