第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
· · · · · · (
收起)
評分
☆☆☆☆☆
乾貨不多,排版還可以,讀起來蠻輕鬆的
評分
☆☆☆☆☆
大概翻瞭下,主要是介紹怎樣查錯誤和查錯工具的使用,並沒有多少錯誤根源的討論
評分
☆☆☆☆☆
寫的還是可以的,不過工作兩年再看錶示內心毫無波動...
評分
☆☆☆☆☆
書本不厚,內容比較實,如果能更細的話絕對是本經典
評分
☆☆☆☆☆
這翻譯真心很差!強烈建議大傢不要買這本書,以免浪費錢
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~
評分
☆☆☆☆☆
运维和开发的一大区别是运维比较吃经验--看起来用的知识不怎么高深,但假如第一次碰到会花很多时间碰壁找解决途径,而这期间可能公司已经损失了很多money~ 这本书是MySQL为数不多以案例贯穿始末的好书,作为一个实际工作经验只有1年的DBA,我受益良多~