前言
第一部分 mysql5.5 新特性篇
第1章 mysql5.5介紹 2
1.1 性能上的顯著改變 2
1.1.1 mysql5.5默認存儲引擎的調整 2
1.1.2 充分利用cpu多核的處理能力 7
1.1.3 提高刷新髒頁數量和閤並插入數量,改善磁盤i/o處理能力 8
1.1.4 增加自適應刷新髒頁功能 9
1.1.5 讓innodb_buffer_pool緩衝池中的熱數據存活更久 9
1.1.6 innodb的數據恢復時間加快 11
1.1.7 innodb同時支持多個bufferpool實例 15
1.1.8 可關閉自適應哈希索引 17
1.1.9 在innodb中可選擇使用內存分配程序 18
1.1.10 提高默認innodb綫程並發數 21
1.1.11 預讀算法的變化 22
1.1.12 首次在linux上實現瞭異步i/o 23
1.1.13 恢復組提交 24
1.1.14 innodb使用多個迴滾段提升性能 26
1.1.15 改善清除程序進度 26
.1.1.16 添加刪除緩衝和清除緩衝 27
1.1.17 控製自鏇鎖spin lock輪訓間隔 28
1.1.18 快速創建、刪除、更改索引 29
1.1.19 innodb支持創建壓縮數據頁 30
1.1.20 可動態關閉innodb更新元數據的統計功能 37
1.2 安全性、穩定性的顯著改變 38
1.2.1 復製功能加強 38
1.2.2 中繼日誌relay-log可自我修復 39
1.2.3 開啓innodb嚴格檢查模式 39
1.3 動態更改係統配置參數 39
1.3.1 支持動態更改獨立錶空間 39
1.3.2 支持動態更改innodb鎖超時時間 40
1.4 innodb新參數匯總 40
1.5 同步復製新參數匯總 48
1.6 sql語句寫法的改變 53
1.6.1 delete錶連接語法改變 53
1.6.2 mysql5.5存儲過程支持limit變量 54
1.7 mysql5.1升級為mysql5.5 55
1.7.1 采用mysql_upgrade升級授權錶方式升級 55
1.7.2 直接安裝mysql5.5,采用數據導齣/導入方式升級 59
1.8 性能測試:mysql5.5與mysql5.1 60
第2章 半同步復製 62
2.1 半同步復製簡介 62
2.2 半同步復製安裝配置 63
2.3 參數說明 63
2.4 功能測試 64
2.4.1 如何驗證半同步復製是否正常工作 64
2.4.2 半同步復製與異步復製的切換 65
2.5 性能測試 68
2.6 小結 70
第二部分 故障診斷與性能優化篇
第3章 故障診斷 72
3.1 影響mysql性能的因素 72
3.2 係統性能評估標準 73
3.2.1 影響linux服務器性能的因素 73
3.2.2 係統性能評估指標 74
3.2.3 開源監控和評估工具介紹 76
3.3 故障與處理 79
3.3.1 連接數過多導緻程序連接報錯的原因 79
3.3.2 記錄子查詢引起的宕機 84
3.3.3 診斷事務量突高的原因 87
3.3.4 謹慎設置binlog_format=mixed 90
3.3.5 未設置swap分區導緻內存耗盡,主機死機 94
3.3.6 mysql故障切換之事件調度器注意事項 95
3.3.7 人工誤刪除innodb ibdata數據文件,如何恢復 97
3.3.8 update忘加where條件誤操作恢復(模擬oracle閃迴功能) 99
3.3.9 delete忘加where條件誤操作恢復(模擬oracle閃迴功能) 108
第4章 同步復製報錯故障處理 112
4.1 最常見的3種故障 112
4.1.1 在master上刪除一條記錄時齣現的故障 112
4.1.2 主鍵重復 114
4.1.3 在master上更新一條記錄,而slave上卻找不到 115
4.2 特殊情況:slave的中繼日誌relay-log損壞 116
4.3 人為失誤 118
4.4 避免在master上執行大事務 119
4.5 slave_exec_mode參數可自動處理同步復製錯誤 120
4.6 如何驗證主從數據一緻 121
4.7 binlog_ignore_db引起的同步復製故障 123
4.8 mysql5.5.19/20同步一個bug 124
4.9 恢復slave從機上的某幾張錶的簡要方法 126
4.10 如何乾淨地清除slave同步信息 127
第5章 性能調優 129
5.1 錶設計 129
5.2 字段類型的選取 133
5.2.1 數值類型 134
5.2.2 字符類型 139
5.2.3 時間類型 141
5.2.4 小技巧:快速修改錶結構 148
5.2.5 pt-online-schema-change在綫更改錶結構 152
5.2.6 mysql5.6在綫ddl更改錶測試 158
5.3 采用閤適的鎖機製 161
5.3.1 錶鎖的演示 161
5.3.2 行鎖的演示 164
5.3.3 innodb引擎與myisam引擎的性能對比 166
5.4 選擇閤適的事務隔離級彆 168
5.4.1 事務的概念 168
5.4.2 事務的實現 169
5.4.3 事務隔離級彆介紹 171
5.5 sql優化與閤理利用索引 177
5.5.1 如何定位執行很慢的sql語句 177
5.5.2 sql優化案例分析 178
5.5.3 閤理使用索引 188
5.6 my.cnf配置文件調優 198
5.6.1 per_thread_buffers優化 198
5.6.2 global_buffers優化 200
5.6.3 query cache在不同環境下的使用 201
5.6.4 tuning-primer.sh性能調試工具的使用 205
5.6.5 72 gb內存的my.cnf配置文件 208
5.6.6 謹慎使用分區錶功能 211
5.7 mysql5.6同步復製新特性詳解 213
第6章 備份與恢復 223
6.1 冷備份 224
6.2 邏輯備份 224
6.2.1 mysqldump增加瞭一個重要參數 225
6.2.2 取代mysqldump的新工具mydumper 226
6.2.3 邏輯備份全量、增量備份腳本 229
6.3 熱備份與恢復 230
第三部分 高可用集群管理篇
第7章 目前流行的4種高可用架構 236
7.1 采用mysql自帶的replication架構 237
7.1.1 keepalived+mysql replication架構的搭建演示 237
7.1.2 mmm+mysql replication架構的搭建演示 241
7.2 heartbeat+drbd+mysql架構的搭建演示 249
7.3 紅帽rhcs共享存儲架構的搭建演示 254
7.3.1 安裝過程 257
7.3.2 紅帽rhcs集群的維護 265
7.4 mysql高可用集群ha解決方案的測試評估 267
第8章 批量管理服務器 270
8.1 開源工具pssh的使用方法 270
8.2 自己編寫的ssh服務器批量管理工具 273
第四部分 監控篇
第9章 性能監控 278
第10章 服務監控 283
10.1 nagios搭建與維護 283
10.2 mysql數據庫的監控腳本 288
第五部分 項目案例
第11章 項目案例講解 292
11.1 數據碎片整理方案 292
11.2 用戶信息錶水平拆錶方案 296
11.3 阿裏巴巴中間件cobar水平拆錶方案 299
· · · · · · (
收起)