第1章 基礎 1
1.1 語法錯誤 1
1.2 SELECT返迴錯誤結果 5
1.3 當錯誤可能由之前的更新引起時 10
1.4 獲取查詢信息 15
1.5 追蹤數據中的錯誤 18
1.6 慢查詢 23
1.6.1 通過EXPLAIN的信息調優查詢 23
1.6.2 錶調優和索引 29
1.6.3 何時停止調優 33
1.6.4 配置選項的影響 33
1.6.5 修改數據的查詢 35
1.6.6 沒有高招 37
1.7 當服務器響應的時候 37
1.8 特定於存儲引擎的問題及解決方案 42
1.8.1 MyISAM損壞 43
1.8.2 InnoDB數據損壞 45
1.9 許可問題 47
第2章 你不孤單:並發問題 50
2.1 鎖和事務 50
2.2 鎖 51
2.2.1 錶鎖 52
2.2.2 行鎖 54
2.3 事務 59
2.3.1 隱藏查詢 60
2.3.2 死鎖 65
2.3.3 隱式提交 68
2.4 元數據鎖 69
2.5 並發如何影響性能 72
2.5.1 為並發問題監控InnoDB事務 73
2.5.2 為並發問題監控其他資源 73
2.6 其他鎖問題 74
2.7 復製和並發 82
2.7.1 基於語句的復製問題 82
2.7.2 混閤事務和事務錶 86
2.7.3 從服務器上的問題 87
2.8 高效地使用MySQL問題排查工具 89
2.8.1 SHOW PROCESSLIST和INFORMATION_SCHEMA.PROCESSLIST錶 89
2.8.2 SHOW ENGINE INNODB STATUS和InnoDB監控器 91
2.8.3 INFORMATION_SCHEMA中的錶 93
2.8.4 PERFORMANCE_SCHEMA中的錶 94
2.8.5 日誌文件 97
第3章 配置選項對服務器的影響 100
3.1 服務器選項 101
3.2 可更改服務器運行方式的變量 104
3.3 有關硬件資源限製的選項 105
3.4 使用--no-defaults選項 106
3.5 性能選項 107
3.6 欲速則不達 107
3.7 SET語句 108
3.8 如何檢查變更是否存在一些影響 108
3.9 變量介紹 109
3.9.1 影響服務器與客戶端行為的選項 110
3.9.2 與性能相關的選項 124
3.9.3 計算選項的安全值 133
第4章 MySQL環境 138
4.1 物理硬件限製 138
4.1.1 內存 138
4.1.2 處理器與內核 139
4.1.3 磁盤I/O 140
4.1.4 網絡帶寬 141
4.1.5 延遲效應的例子 142
4.2 操作係統限製 142
4.3 其他軟件影響 144
第5章 復製故障診斷 145
5.1 查看從服務器狀態 146
5.2 與I/O綫程有關的復製錯誤 148
5.3 與SQL綫程有關的問題 155
5.3.1 當主從服務器上數據不同的時候 156
5.3.2 從服務器上的循環復製以及復製寫入 157
5.3.3 不完整或被改變的SQL語句 158
5.3.4 主從服務器上齣現的不同錯誤 159
5.3.5 配置 159
5.3.6 當從服務器遠遠落後主服務器時 159
第6章 問題排查技術與工具 161
6.1 查詢 161
6.1.1 慢查詢日誌 162
6.1.2 可定製的工具 163
6.1.3 MySQL命令行接口 165
6.2 環境的影響 169
6.3 沙箱 169
6.4 錯誤與日誌 173
6.4.1 再論錯誤信息 173
6.4.2 崩潰 173
6.5 收集信息的工具 177
6.5.1 Information Schema 177
6.5.2 InnoDB信息概要錶 178
6.5.3 InnoDB監控器 180
6.5.4 Performance Schema 187
6.5.5 Show [GLOBAL] STATUS 190
6.6 本地化問題(最小化測試用例) 191
6.7 故障排除的一般步驟 192
6.8 測試方法 195
6.8.1 在新版本中嘗試查詢 195
6.8.2 檢查已知的bug 195
6.8.3 變通方法 196
6.9 專用的測試工具 198
6.9.1 基準工具 198
6.9.2 Gypsy 201
6.9.3 MySQL測試框架 202
6.10 維護工具 204
第7章 最佳實踐 207
7.1 備份 207
7.1.1 計劃備份 208
7.1.2 備份類型 208
7.1.3 工具 209
7.2 收集需要的信息 210
7.3 測試 211
7.4 預防 212
7.4.1 權限 212
7.4.2 環境 212
7.5 三思而後行 213
附錄 信息資源 214
· · · · · · (
收起)
評分
☆☆☆☆☆
DBA王學敏推薦。書中使用的例子介紹對常見錯誤的排查邏輯,很到位也很精細。作為一本類工具書,是可以多讀的,受益匪淺。
評分
☆☆☆☆☆
不錯,基本80%以上的問題都能自己動手查瞭
評分
☆☆☆☆☆
DBA王學敏推薦。書中使用的例子介紹對常見錯誤的排查邏輯,很到位也很精細。作為一本類工具書,是可以多讀的,受益匪淺。
評分
☆☆☆☆☆
這翻譯真心很差!強烈建議大傢不要買這本書,以免浪費錢
評分
☆☆☆☆☆
內容有些用處,可是本書結構實在組織的太差瞭,相聯係的內容重復、零星地在全書範圍內閃現,使人不斷失去耐心。另外翻譯也是敷衍瞭事,看著生氣。
評分
☆☆☆☆☆
我认为对一款数据库的学习,主要在3大方面,1、体系结构的理解。2、工具的使用。3、思路的整合。这本书介绍了很多mysql的工具。如果一个刚入行的mysql dba,接触了丰富的理论知识,但却没有运用知识的途径,那这本书就会是一个很好的选择。
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~
評分
☆☆☆☆☆
我认为对一款数据库的学习,主要在3大方面,1、体系结构的理解。2、工具的使用。3、思路的整合。这本书介绍了很多mysql的工具。如果一个刚入行的mysql dba,接触了丰富的理论知识,但却没有运用知识的途径,那这本书就会是一个很好的选择。
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~