"第1篇 基礎篇 1
第1章 MySQL基本介紹 3
1.0 引言 4
1.1 MySQL Server簡介 4
1.2 MySQL與其他數據庫的簡單比較 6
1.3 MySQL 的主要適用場景 8
1.4 小結 9
第2章 MySQL架構組成 11
2.0 引言 12
2.1 MySQL物理文件組成 12
2.2 MySQL Server係統架構 16
2.3 MySQL 自帶工具使用介紹 22
2.4 小結 26
第3章 MySQL存儲引擎簡介 27
3.0 引言 28
3.1 MySQL存儲引擎概述 28
3.2 MyISAM存儲引擎簡介 29
3.3 InnoDB存儲引擎簡介 30
3.4 NDB Cluster 存儲引擎簡介 32
3.5 其他存儲引擎介紹 34
3.6 小結 37
第4章 MySQL安全管理 39
4.0 引言 40
4.1 數據庫係統安全相關因素 40
4.2 MySQL 權限係統介紹 43
4.3 MySQL 訪問授權策略 54
4.4 安全設置注意事項 55
4.5 小結 57
第5章 MySQL備份與恢復 59
5.0 引言 60
5.1 數據庫備份使用場景 60
5.2 邏輯備份與恢復測試 61
5.3 物理備份與恢復測試 68
5.4 備份策略的設計思路 75
5.5 小結 76
第2篇 性能優化篇 77
第6章 影響MySQL Server性能的相關因素 79
6.0 引言 80
6.1 商業需求對性能的影響 80
6.2 係統架構及實現對性能的影響 83
6.3 Query語句對係統性能的影響 89
6.4 Schema設計對係統的性能影響 96
6.5 硬件環境對係統性能的影響 99
6.6 小結 102
第7章 MySQL數據庫鎖定機製 103
7.0 引言 104
7.1 MySQL鎖定機製簡介 104
7.2 各種鎖定機製分析 106
7.3 閤理利用鎖機製優化MySQL 117
7.4 小結 120
第8章 MySQL數據庫Query的優化 121
8.0 引言 122
8.1 理解MySQL的Query Optimizer 122
8.2 Query 語句優化基本思路和原則 123
8.3 充分利用 Explain 和 Profiling 130
8.4 閤理設計並利用索引 136
8.5 Join的實現原理及優化思路 149
8.6 ORDER BY、GROUP BY和DISTINCT的優化 155
8.7 小結 167
第9章 MySQL數據庫Schema 設計的性能優化 169
9.0 引言 170
9.1 高效的模型設計 170
9.2 閤適的數據類型 176
9.3 規範的對象命名 180
9.4 小結 181
第10章 MySQL Server性能優化 183
10.0 引言 184
10.1 MySQL安裝優化 184
10.2 MySQL日誌設置優化 188
10.3 Query Cache 優化 192
10.4 MySQL Server 其他常用優化 196
10.5 小結 202
第11章 常用存儲引擎優化 203
11.0 引言 204
11.1 MyISAM存儲引擎優化 204
11.2 InnoDB 存儲引擎優化 211
11.3 小結 227
第3篇 架構設計篇 229
第12章 MySQL可擴展設計的基本原則 231
12.0 引言 232
12.1 什麼是可擴展性 232
12.2 事務相關性最小化原則 234
12.3 數據一緻性原則 235
12.4 高可用及數據安全原則 237
12.5 小結 237
第13章 可擴展性設計之 MySQL Replication 239
13.0 引言 240
13.1 Replication 對可擴展性設計的意義 240
13.2 Replication 機製的實現原理 241
13.3 Replication常用架構 244
13.4 Replication 搭建實現 249
13.5 小結 255
第14章 可擴展性設計之數據切分 257
14.0 引言 258
14.1 何謂數據切分 258
14.2 數據的垂直切分 259
14.3 數據的水平切分 261
14.4 垂直與水平聯閤切分的使用 263
14.5 數據切分及整閤方案 265
14.6 數據切分與整閤中可能存在的問題 271
14.7 小結 273
第15章 可擴展性設計之Cache與Search的利用 275
15.0 引言 276
15.1 可擴展設計的數據庫之外延伸 276
15.2 閤理利用第三方Cache解決方案 277
15.3 自行實現Cache服務 284
15.4 利用Search實現高效的全文檢索 285
15.5 利用分布式並行計算實現大數據量的高性能運算 287
15.6 小結 288
第16章 MySQL Cluster 289
16.0 引言 290
16.1 MySQL Cluster介紹 290
16.2 MySQL Cluster環境搭建 292
16.3 MySQL Cluster配置詳細介紹(config.ini) 298
16.4 MySQL Cluster基本管理與維護 304
16.5 基本優化思路 307
16.6 小結 308
第17章 高可用設計思路及方案 309
17.0 引言 310
17.1 利用 Replication 來實現高可用架構 310
17.2 利用MySQL Cluster實現整體高可用 316
17.3 利用DRBD保證數據的高安全可靠 320
17.4 其他高可用設計方案 323
17.5 各種高可用方案的利弊比較 326
17.6 小結 327
第18章 高可用設計之MySQL監控 329
18.0 引言 330
18.1 監控係統設計 330
18.2 健康狀態監控 332
18.3 性能狀態監控 335
18.4 常用開源監控軟件 342
18.5 小結 344
附錄A 實驗測試Schema創建腳本 345
附錄B MySQL部分係統參數說明及設置建議 349
附錄C MySQL部分狀態說明 373
索引 389
· · · · · · (
收起)
《MySQL性能調優與架構設計》以 MySQL 數據庫的基礎及維護為切入點,重點介紹瞭 MySQL 數據庫應用係統的性能調優,以及高可用可擴展的架構設計。
全書共分3篇,基礎篇介紹瞭MySQL軟件的基礎知識、架構組成、存儲引擎、安全管理及基本的備份恢復知識。性能優化篇從影響 MySQL 數據庫應用係統性能的因素開始,針對性地對各個影響因素進行調優分析。如 MySQL Schema 設計的技巧,Query 語句的性能優化方式方法及MySQL Server中SQL層和存儲引擎層的優化思路。同時還分析瞭 MySQL 數據庫中主要存儲引擎的鎖定機製。架構設計篇則主要以設計一個高可用可擴展的分布式企業級數據庫集群環境為目標,分析介紹瞭通過 MySQL 實現這一目標的多種架構方式。主要包括可擴展和高可用兩部分內容,可擴展部分包括設計原則、Replication 的利用、數據切分、如何使用 Cache 和 Search,以及 NDB Cluster等內容。高可用則主要包括 Dual Master、DRBD、NDB Cluster,以及係統監控等方麵。
本書主要麵嚮有一定的 MySQL 基礎或至少有一定SQL語言基礎的讀者朋友。