暫無商品咨詢信息 [發表商品咨詢]
本書首先介紹了MySQL5.7和MariaDB10.1版本的新特性,然后以構建高性能MySQL服務器為核心,從故障診斷與優化、性能調優、備份與恢復、高可用集群架構搭建與管理、讀寫分離和分布式DB架構搭建與管理、性能和服務監控等方面多角度深入講解了如何去管理與維護MySQL服務器。書中內容以實戰為導向,所有內容均來自于筆者多年實踐經驗的總結和新知識的拓展,同時也針對運維人員、DBA等相關工作者會遇到的有代表性的疑難問題給出了實用的情景模擬,并給出了解決方案。不論你目前有沒有遇到過此類問題,相信對你以后處理相關問題都會有所借鑒。本書適合所有希望構建和管理高性能、高可用性的MySQL數據庫系統的開發者和DBA閱讀。
目 錄Contents
推薦序:飛躍的第2版
前 言
第1章 MariaDB架構與歷史 1
1.1 MariaDB的介紹 1
1.2 MariaDB和MySQL的兼容性 2
1.3 MariaDB 10.0新增的功能 3
1.3.1 更多的存儲引擎 4
1.3.2 速度的提升 5
1.3.3 擴展和新功能 5
1.4 如何將MySQL遷移至MariaDB 8
1.5 使用二進制包安裝MariaDB 10.1企業版 10
1.6 總結 12
第2章 MySQL 5.7與MariaDB 10.1的新特性 13
2.1 性能提升 14
2.2 安全性的提升 15
2.2.1 默認開啟SSL 15
2.2.2 不再明文顯示用戶密碼 20
2.2.3 sql_mode的改變 20
2.3 InnoDB存儲引擎的提升 22
2.3.1 更改索引名字時不會鎖表 22
2.3.2 在線DDL修改varchar字段屬性時不鎖表 23
2.3.3 InnoDB/MyisAM存儲引擎支持中文全文索引 26
2.3.4 InnoDB Buffer Pool預熱改進 29
2.3.5 在線調整innodb_Buffer_Pool_Size不用重啟mysql進程 31
2.3.6 回收(收縮)undo log回滾日志物理文件空間 32
2.3.7 InnoDB提供通用表空間 33
2.3.8 創建InnoDB獨立表空間指定存放路徑 34
2.3.9 遷移單獨一張InnoDB表到遠程服務器 35
2.3.10 修改InnoDB redo log事務日志文件大小更人性化 36
2.3.11 死鎖可以打印到錯誤日志里 37
2.3.12 支持InnoDB只讀事務 37
2.3.13 支持InnoDB表空間數據碎片整理 38
2.4 JSON格式的支持 39
2.4.1 支持用JSON格式存儲數據 39
2.4.2 動態列支持用JSON格式存儲數據 41
2.5 支持虛擬列(函數索引) 44
2.5.1 MySQL 5.7支持函數索引 44
2.5.2 MariaDB 10.0/10.1支持函數索引 45
2.6 功能提升 46
2.6.1 支持殺死慢的SQL語句 46
2.6.2 支持一張表有多個INSERT/DELETE/UPDATE觸發器 48
2.6.3 引入線程池(Thread Pool)技術 49
2.6.4 提供審計日志功能 52
2.6.5 支持explain update 53
2.6.6 在MySQL 5.7 中按Ctrl+C組合鍵不會退出客戶端 54
2.6.7 可將錯誤日志打印到系統日志文件中 54
2.6.8 支持創建角色 55
2.6.9 支持TokuDB存儲引擎 56
2.7 優化器改進 59
2.7.1 針對子查詢select采用半連接優化 59
2.7.2 優化派生子查詢 62
2.7.3 優化排序limit 65
2.7.4 優化IN條件表達式 66
2.7.5 優化union all 69
2.7.6 支持索引下推優化 70
2.7.7 支持Multi Range Read索引優化 72
2.7.8 支持Batched Key Access(BKA)索引優化 75
2.7.9 支持Hash Join索引優化 77
2.8 半同步復制改進 78
2.8.1 半同步復制簡介 78
2.8.2 半同步復制的安裝配置 79
2.8.3 參數說明 79
2.8.4 功能測試 80
2.8.5 性能測試 84
2.9 GTID復制改進 87
2.9.1 GTID復制概述 87
2.9.2 在MySQL 5.6的GTID模式下同步復制報錯不能跳過的解決方法 90
2.9.3 MySQL 5.7中GTID復制的改進 93
2.9.4 GTID復制的陷阱 95
2.9.5 MariaDB 10.1中GTID復制的改進 96
2.9.6 GTID的使用方式不同 97
2.10 MySQL 5.6/5.7從庫崩潰安全恢復 98
2.11 MariaDB 10.0/10.1從庫崩潰安全恢復 99
2.12 slave從庫多線程復制 99
2.13 slave支持多源復制 101
2.14 MySQL 5.7設置同步復制過濾不用重啟mysql服務進程 103
2.15 小結 104
第3章 故障診斷 105
3.1 影響MySQL性能的因素 105
3.2 系統性能評估標準 106
3.2.1 影響Linux服務器性能的因素 106
3.2.2 系統性能評估指標 107
3.2.3 開源監控和評估工具介紹 109
3.3 故障與處理 112
3.3.1 連接數過多導致程序連接報錯的原因 112
3.3.2 記錄子查詢引起的宕機 117
3.3.3 診斷事務量突高的原因 120
3.3.4 謹慎設置binlog_format=MIXED 123
3.3.5 未設置swap分區導致內存耗盡,主機死機 127
3.3.6 MySQL故障切換之事件調度器注意事項 128
3.3.7 人工誤刪除InnoDB ibdata數據文件,如何恢復 130
3.3.8 update忘加where條件誤操作恢復(模擬Oracle閃回功能) 132
3.3.9 delete忘加where條件誤操作恢復(模擬Oracle閃回功能) 141
第4章 同步復制報錯故障處理 145
4.1 最常見的3種故障 145
4.1.1 在master上刪除一條記錄時出現的故障 146
4.1.2 主鍵重復 147
4.1.3 在master上更新一條記錄,而slave上卻找不到 148
4.2 特殊情況:slave的中繼日志relay-log損壞 149
4.3 人為失誤 151
4.4 避免在master上執行大事務 152
4.5 slave_exec_mode參數可自動處理同步復制錯誤 153
4.6 如何驗證主從數據一致 154
4.7 binlog_ignore_db引起的同步復制故障 156
4.8 MySQL5.5.19/20同步一個Bug 157
4.9 恢復slave從機上的某幾張表的簡要方法 159
4.10 如何干凈地清除slave同步信息 160
第5章 性能調優 162
5.1 表設計 162
5.2 字段類型的選取 166
5.2.1 數值類型 167
5.2.2 字符類型 172
5.2.3 時間類型 174
5.2.4 小技巧:快速修改表結構 181
5.2.5 pt-online-schema-change在線更改表結構 185
5.2.6 MySQL5.6在線DDL更改表測試 191
5.3 采用合適的鎖機制 194
5.3.1 表鎖的演示 194
5.3.2 行鎖的演示 197
5.3.3 InnoDB引擎與MyISAM引擎的性能對比 199
5.4 選擇合適的事務隔離級別 201
5.4.1 事務的概念 201
5.4.2 事務的實現 202
5.4.3 事務隔離級別介紹 204
5.5 SQL優化與合理利用索引 210
5.5.1 如何定位執行很慢的SQL語句 210
5.5.2 SQL優化案例分析 211
5.5.3 合理使用索引 221
5.6 my.cnf配置文件調優 231
5.6.1 per_thread_buffers優化 231
5.6.2 global_buffers優化 233
5.6.3 Query Cache在不同環境下的使用 234
5.6.4 tuning-primer.sh性能調試工具的使用 238
5.6.5 72 GB內存的my.cnf配置文件 241
5.6.6 謹慎使用分區表功能 244
5.7 MySQL5.6同步復制新特性詳解 246
第6章 備份與恢復 256
6.1 冷備份 257
6.2 邏輯備份 257
6.2.1 mysqldump增加了一個重要參數 258
6.2.2 取代mysqldump的新工具mydumper 259
6.2.3 邏輯備份全量、增量備份腳本 262
6.3 熱備份與恢復 263
第7章 高可用MHA架構集群管理 268
7.1 MHA架構簡介 268
7.1.1 master自動監控和故障轉移 270
7.1.2 手工處理master故障轉移 270
7.1.3 在線平滑切換 270
7.2 MHA配置安裝 270
7.3 MHA故障切換演示 277
7.3.1 場景一:master自動監控和故障轉移 277
7.3.2 場景二:master手工故障轉移 285
7.3.3 場景三:在線平滑切換 285
7.4 MHA高可用架構總結 290
第8章 MySQL架構演進:“一主多從、讀/寫分離” 293
8.1 實現讀/寫分離的兩種方式 293
8.2 主從同步延遲的判斷標準 297
8.3 HAProxy感知MySQL主從同步延遲 300
8.4 讀/寫分離MariaDB MaxScale架構搭建演示 307
8.4.1 配置環境及安裝介紹 307
8.4.2 基于connect方式的測試 311
8.4.3 基于statement方式(SQL解析)的測試 312
8.4.4 MaxScale延遲檢測 313
8.5 讀/寫分離OneProxy介紹及架構搭建演示 315
8.5.1 OneProxy簡介 316
8.5.2 OneProxy的功能及安裝介紹 316
8.5.3 OneProxy讀/寫分離接入限制 320
第9章 Codership Galera Cluster 集群架構搭建與管理 322
9.1 Codership Galera Cluster的特性和優缺點 323
9.2 Codership Galera Cluster的局限性 323
9.3 Codership Galera Cluster的工作原理 324
9.4 Codership Galera Cluster的配置 328
9.4.1 Codership Galera Cluster的配置環境及安裝 328
9.4.2 功能測試 332
9.5 HAProxy結合Galera Cluster實現無單點秒級故障切換 337
第10章 OneProxy分庫分表的搭建與管理 345
10.1 OneProxy 分庫分表的搭建 346
10.1.1 配置與安裝 346
10.1.2 前端PHP/Java程序接入事項 349
10.2 OneProxy分庫分表接入限制 349
10.3 OneProxy分庫分表基本測試 351
10.3.1 分庫分表的功能測試 351
10.3.2 分庫分表的二級分區測試 354
10.3.3 分庫分表的聚合測試 358
10.3.4 分庫分表的插入測試 359
10.3.5 分庫分表不支持跨庫join的測試 360
10.3.6 分庫分表不支持分布式事務的測試 361
10.3.7 分庫分表不支持存儲過程的測試 361
10.4 搭建OneProxy高可用故障切換HA 362
10.5 OneProxy 黑名單SQL防火墻搭建測試 363
第11章 Lepus慢日志分析平臺搭建與維護 367
11.1 Lepus基礎組件的安裝 367
11.2 安裝percona-toolkit工具 370
| 基本信息 | |
|---|---|
| 品牌/出版社 | 機械工業出版社 |
| ISBN | 9787111547792 |
| 條碼 | 9787111547792 |
| 編者 | 1 |
| 譯者 | -- |
| 出版年月 | 2021.01 |
| 開本 | 16開 |
| 裝幀 | |
| 頁數 | 373 |
| 字數 | |
| 版次 | 1 |
| 印次 | |
| 紙張 | |
暫無商品評論信息 [發表商品評論]
暫無商品咨詢信息 [發表商品咨詢]