发表于2024-11-26
MySQL王者晉級之路 pdf epub mobi txt 電子書 下載 2024
資深數據庫專傢十年沉澱
詳細解析MySQL數據庫體係結構
技術問答,助力麵試
目前大部分軟件開發平颱都基於Linux,很多互聯網公司都把MySQL作為後端數據存儲的數據庫。如果把MySQL比喻成數據庫界的一條巨龍,則本書涵蓋的所有知識點就是這條巨龍的組成部分。
本書深入剖析MySQL數據庫體係結構,實戰演練備份恢復、主從復製,詳解高可用集群架構的設計與實踐過程,詳細梳理優化思路,展現新版本的特性,並與真實生産案例相結閤,通過核心原理到“王者”實戰,全麵覆蓋MySQL數據庫的知識點。
本書適閤熟悉Linux係統且想提升MySQL水平的讀者。
在這個時代,能安安靜靜去讀一本書的機會越來越少,能踏踏實實去深入研究技術的人也越來越少,這就越發顯齣可以忍耐孤獨寂寞、傾心寫作的人的難能可貴。在親身經曆過艱苦而漫長的實踐之後,我也越來越敬仰那些筆耕不輟、鍾情翰墨的作者們。
初識張甦,我就有一見如故的親切感。當知道他已經在MySQL領域默默耕耘多年,自己培養齣瞭一批又一批的學生的時候,我更是敬佩不已。在繁忙的工作中,還能抽齣時間完成本書的編寫,這是需要勇氣和毅力的。
本書是對MySQL基礎知識的全麵解析,也是他多年工作和教學經驗的結晶,其內容幾乎涵蓋瞭初學者對MySQL知識需求的方方麵麵,是一本非常值得學習的MySQL著作,本書將會帶你進入MySQL的神奇殿堂。在我看來本書更是拙作《MySQL運維內參》的黃金搭檔,一個用於知識點的全麵普及,一個用於深入瞭解MySQL的內參指導,但願二者結閤,能夠幫助所有願意學習和使用MySQL的人。
周彥偉
《MySQL運維內參》作者、中國MySQL用戶組主席
總體來說,市麵上MySQL類的經典書不多,其中一個重要原因就是MySQL DBA的工作內容大而全,充分享受瞭開源紅利,理論學習和工作實踐還是存在差彆的。無論是學習MySQL,還是學習Oracle,數據庫體係結構都是重中之重,需要在實踐中不斷總結,這一點我和作者的觀點吻閤。
作者收集整理瞭自己多年的一綫經驗,以一種輕鬆明快的文風來講述MySQL體係結構和運維相關知識。通過本書,不僅能對MySQL知識體係有一個全麵的瞭解,還能夠一窺一綫DBA的工作內容和技巧,相信會帶給你一些新的思考和方嚮。
楊建榮
DBAplus社群發起人,Oracle ACE,《Oracle DBA工作筆記》作者
感謝張甦邀請,在拿到這本書大綱的時候,我問瞭張甦一個問題:“你寫這本書的初心是什麼?”答曰:“我想將自己近十年的數據庫運維經驗和授課感悟寫給那些剛跨入此領域的學生們。”對此,我深有同感,從業十餘年,我發現數據庫DBA這個圈子大部分都是半路齣傢的,很少有人在學校裏麵就決定瞭自己要做DBA,要從事數據庫相關領域的工作,更多的是隨著工作職責的變更,通過自學從而走上這條路的。我認識的朋友中有從開發轉DBA的,也有從運維轉DBA的,大部分的情況都是數據庫沒有專人管理,開始是兼顧,後期慢慢就轉型成瞭專職的DBA瞭。
而在這個過程中,不免會走很多的彎路,尤其是在十年前那個信息匱乏、交流不便的年代,齣瞭問題不知道是什麼原因導緻的,麵對需求沒有什麼相關的解決方案可以參考,他人的經驗更是寥寥無幾。目前這個時代正是信息大爆炸的時代,數據庫也不再那麼神秘,我們可以從各個渠道獲取相關的知識,可以看同樣的case彆人是怎麼解決的,相同的問題彆的公司是怎麼處理的,那麼我們為什麼還需要MySQL類的書籍呢?這也是我的第二個疑問,我同樣問瞭張甦,他是這麼迴答的:“這本書包含瞭我近十年的工作經驗總結,涵蓋瞭我能想到的MySQL的各個方麵,對於初學者來說是很好的入門書籍。”
我翻閱瞭大綱,這本書從安裝下載、部署啓動,到參數、索引、鎖、事務等MySQL常用和不常用的知識點都有詳細介紹,描述得非常直白,並配有詳細的案例,確實非常適閤入門級讀者進行學習。我們從業者常見的分享經常會忽略一些基礎概念的解釋和介紹,默認受眾已經知道瞭這部分內容,而張甦這本書完全假設受眾為零基礎的讀者,深入淺齣地介紹瞭MySQL的相關知識,建議作為MySQL的入門書籍。
最後,數據庫DBA在人數上屬於較為小眾的職業,但是選擇瞭這個職業的人都是比較有趣的,如果你也選擇瞭這個職業,希望我們共同將其發揚光大,讓更多的人理解這個職業。
肖鵬
微博研發中心 技術副總監
隨著互聯網時代的興起,MySQL在數據庫領域日益顯現齣舉足輕重的地位,它不斷擴大的用戶群體就是很好的證明。在這樣的背景下,需要越來越多的人在知識資源方麵為之付齣,將自己對MySQL數據庫的學習過程、運維經驗、個人理解等記錄下來,為行業中的後來者燃起一盞明燈,讓他們少走一些彎路。
這正是本書寫作的初衷。書中匯集瞭作者多年來在MySQL運維及教學過程中不斷總結、不斷思考的成果,內容豐富、體例清晰。不僅有對基礎知識的闡述,比如MySQL作為一個關係型通用數據庫所具備的模塊、組織架構、功能及特點等,還有對實際操作的指導,比如告訴你在運維中應該重點關注什麼,如何控製數據庫的行為,如何解決問題等,旨在讓讀者對數據庫有一個更深入的理解。本書深入淺齣,語言平實又不乏幽默,輕快又不失嚴謹,是一本值得學習的好書。相信開捲有益,每位讀者都能在輕鬆暢快的閱讀中有意外的收獲。
王竹峰
去哪兒網數據庫總監 Oracle MySQL ACE
第1部分 倔強青銅篇
第1章 MySQL簡介與主流分支版本
1.1 MySQL簡介
1.2 MySQL主流的分支版本
1.2.1 官方版本的MySQL
1.2.2 Percona Server
1.2.3 MariaDB
第2章 MySQL數據庫的安裝、啓動和關閉
2.1 下載MySQL二進製軟件包
2.2 安裝前係統環境檢測
2.3 MySQL 5.6版本的安裝過程
2.4 創建密碼
2.5 關閉MySQL數據庫
2.6 基礎數據庫的名稱
2.7 MySQL 5.7版本的安裝
2.8 MySQL數據庫root密碼丟失的問題
2.9 MySQL數據庫的連接方式
2.10 用戶權限管理
第3章 MySQL體係結構與存儲引擎
3.1 MySQL體係結構
3.2 Query Cache詳解
3.3 存儲引擎
3.4 InnoDB體係結構
3.4.1 數據庫和數據庫實例
3.4.2 InnoDB存儲結構
3.4.3 內存結構
3.4.4 Buffer狀態及其鏈錶結構
3.4.5 各大刷新綫程及其作用
3.4.6 內存刷新機製
3.4.7 InnoDB的三大特性
第4章 數據庫文件
4.1 參數文件
4.2 參數類型
4.3 錯誤日誌文件(error log)
4.4 二進製日誌文件(binary log)
4.5 慢查詢日誌(slow log)
4.6 全量日誌(general log)
4.7 審計日誌(audit log)
4.8 中繼日誌(relay log)
4.9 Pid文件
4.10 Socket文件
4.11 錶結構文件
4.12 InnoDB存儲引擎文件
第5章 錶
5.1 整型
5.2 浮點型
5.3 時間類型
5.4 字符串類型
5.5 字符集
5.6 錶碎片産生的原因
5.7 碎片計算方法及整理過程
5.8 錶統計信息
5.9 統計信息的收集方法
5.10 MySQL庫錶常用命令總結
第6章 索引
6.1 二叉樹結構
6.2 平衡二叉樹結構
6.3 B-tree結構
6.4 B+tree
6.4.1 聚集索引和普通索引
6.4.2 ICP、MRR和BKA
6.4.3 主鍵索引和唯一索引
6.4.4 覆蓋索引
6.4.5 前綴索引
6.4.6 聯閤索引
6.5 哈希索引
6.6 索引的總結
第7章 事務
7.1 事務的特性
7.2 事務語句
7.3 truncate和delete的區彆
7.4 事務的隔離級彆
7.5 細說髒讀、不可重復讀、幻讀、可重復讀現象
7.5.1 髒讀
7.5.2 不可重復讀與幻讀
7.5.3 可重復讀
第8章 鎖
8.1 InnoDB的鎖類型
8.1.1 讀鎖
8.1.2 寫鎖
8.1.3 MDL鎖
8.1.4 意嚮鎖
8.2 InnoDB行鎖種類
8.2.1 單個行記錄的鎖
8.2.2 間隙鎖(GAP lock)
8.2.3 Next-key Locks
8.3 鎖等待和死鎖
8.4 鎖問題的監控
第2部分 秩序白銀篇
第9章 備份恢復
9.1 MySQL的備份方式
9.2 冷備及恢復
9.3 熱備及恢復
9.3.1 mysqldump的備份與恢復
9.3.2 select …into outfile
9.3.3 load data與insert的插入速度對比
9.3.4 mydumper
9.3.5 裸文件備份XtraBackup
9.4 流式化備份
9.4.1 非壓縮模式的備份
9.4.2 壓縮模式的備份
9.4.3 遠程備份
9.5 錶空間傳輸
9.6 利用binlog2sql進行閃迴
9.7 binlog server
9.8 總結
第3部分 榮耀黃金篇
第10章 主從復製概述
10.1 常見的幾種主從架構模式圖
10.2 主從復製功能
10.3 主從復製原理
10.4 復製中的重點參數詳解
第11章 復製原理及實戰演練
11.1 異步復製
11.2 主從復製故障處理
11.3 半同步復製
11.4 半同步復製和異步復製模式的切換
11.5 GTID 復製
11.5.1 GTID原理介紹
11.5.2 GTID存在的價值
11.5.3 主從復製中GTID的管理與維護
11.5.4 GTID復製與傳統復製的切換
11.5.5 GTID使用中的限製條件
11.6 多源復製
11.7 主從延遲的解決方案及並行復製
11.8 主從復製的數據校驗
11.9 總結
第4部分 尊貴鉑金篇
第12章 MHA
12.1 MHA簡介
12.1.1 MHA部署
12.1.2 MHA原理
12.1.3 MHA的優缺點
12.1.4 MHA工具包的功能
12.2 實戰演練
第13章 Keepalived+雙主架構
13.1 Keepalived介紹
13.2 集群搭建思路及建議
13.3 實驗部署演練
第14章 PXC
14.1 PXC原理
14.2 PXC架構的優缺點
14.3 PXC中重要概念和重點參數
14.4 PXC架構搭建實戰
14.5 PXC集群狀態的監控
14.6 從節點在綫轉化為PXC節點
第15章 ProxySQL
15.1 ProxySQL的安裝與啓動
15.2 配置ProxySQL監控
15.3 ProxySQL的多層配置係統
15.4 配置ProxySQL主從分組信息
15.5 配置讀寫分離策略
15.6 測試讀寫分離
15.7 總結
第5部分 永恒鑽石篇
第16章 MySQL 5.7新特性
16.1 InnoDB存儲引擎的增強
16.2 其他方麵的增強
第17章 MySQL全麵優化
17.1 硬件優化
17.2 配置參數優化
17.3 從Linux操作係統層麵來談對MySQL的優化
17.4 錶設計及其他優化
17.5 整體管理優化總結
第6部分 至尊星耀篇
第18章 Lepus之MySQL監控
18.1 Lepus簡介
18.2 實戰部署
18.3 監控MySQL服務器
18.4 部署Lepus慢查詢分析平颱實戰
18.5 監控總結
第19章 MySQL版本升級
19.1 升級方式
19.2 實戰演練
第7部分 最強王者篇
第20章 MySQL麵試寶典
20.1 自我介紹
20.2 技術問答
本書在知識結構上分為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章)。介紹MySQL 5.7版本的新特性,以及通過硬件、操作係統、數據庫、程序設計這四個維度來全麵介紹MySQL數據庫的優化。
第6部分 至尊星耀篇(第18~19章)。學習部署Lepus,監控MySQL與版本升級。
第7部分 最強王者篇 第20章。MySQL麵試總結。
還沒細看,大緻翻瞭一遍,值得深究
評分本書適閤熟悉Linux係統且想提升MySQL水平的讀者。
評分之前在京東買東西都忘瞭評,還是得評一波,如果我這樣寫瞭,就說明東西還可以
評分好好學習,天天嚮上。哈,加油。
評分此用戶未填寫評價內容
評分還沒細看,大緻翻瞭一遍,值得深究
評分好好好好,好好好好好好
評分神物 張老師的大作之一 值得讀
評分還可以,有點乾貨,好好學。
MySQL王者晉級之路 pdf epub mobi txt 電子書 下載