定 價:¥119.00
作 者: | 羅小波,沈剛 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121397141 | 出版時間: | 2020-11-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 456 | 字數(shù): |
基 礎(chǔ) 篇
第1章 復(fù)制的概述 2
1.1 適用場景 2
1.2 數(shù)據(jù)同步方法 3
1.3 數(shù)據(jù)同步類型 4
1.4 復(fù)制格式 4
第2章 復(fù)制的基本原理 6
2.1 概述 6
2.2 細節(jié) 7
第3章 復(fù)制格式詳解 10
3.1 復(fù)制格式概述 10
3.2 復(fù)制格式明細 11
3.2.1 基于statement和基于row的復(fù)制的優(yōu)缺點 11
3.2.2 使用row格式的二進制日志進行復(fù)制 14
3.3 如何確定與記錄復(fù)制中的安全和不安全語句 15
第4章 傳統(tǒng)復(fù)制與GTID復(fù)制 18
4.1 傳統(tǒng)復(fù)制 18
4.2 GTID復(fù)制 19
4.2.1 GTID的格式和存儲 19
4.2.2 GTID的生命周期 23
4.2.3 GTID 自動定位 26
4.2.4 GTID復(fù)制模式的限制 27
第5章 半同步復(fù)制 29
5.1 半同步復(fù)制的原理 29
5.2 半同步復(fù)制的管理接口 33
5.3 半同步復(fù)制的監(jiān)控 33
5.4 半同步復(fù)制的注意要點 34
第6章 多線程復(fù)制 36
6.1 單線程復(fù)制原理 36
6.2 DATABASE多線程復(fù)制 38
6.2.1 原理 38
6.2.2 系統(tǒng)變量的配置 40
6.3 LOGICAL_CLOCK多線程復(fù)制 40
6.3.1 原理 40
6.3.2 系統(tǒng)變量的配置 42
6.4 WRITESET多線程復(fù)制 42
6.4.1 原理 42
6.4.2 系統(tǒng)變量的配置 50
第7章 多源復(fù)制 51
7.1 復(fù)制通道 51
7.2 單通道操作命令 52
7.3 復(fù)制語句的向前兼容性 53
7.4 啟動選項和復(fù)制通道選項 53
7.5 復(fù)制通道的命名約定 55
第8章 從庫中繼日志和狀態(tài)日志 56
8.1 中繼日志和狀態(tài)日志概述 56
8.2 從庫中繼日志 57
8.3 從庫狀態(tài)日志 58
第9章 通過PERFORMANCE_SCHEMA庫檢查復(fù)制信息 66
9.1 PERFORMANCE_SCHEMA庫中的復(fù)制信息記錄表概述 66
9.2 PERFORMANCE_SCHEMA庫中的復(fù)制信息記錄表詳解 70
9.2.1 replication_applier_configuration表 70
9.2.2 replication_applier_status表 71
9.2.3 replication_applier_status_by_coordinator表 72
9.2.4 replication_applier_status_by_worker表 74
9.2.5 replication_connection_configuration表 76
9.2.6 replication_connection_status表 78
9.2.7 replication_group_member_stats表 80
9.2.8 replication_group_members表 81
第10章 通過其他方式檢查復(fù)制信息 83
10.1 復(fù)制狀態(tài)變量 83
10.2 復(fù)制心跳信息 83
10.3 SHOW SLAVE STATUS語句輸出信息詳解 85
10.4 通過SHOW PROCESSLIST語句查看復(fù)制線程狀態(tài) 92
10.5 SHOW MASTER STATUS語句輸出詳解 93
10.6 SHOW SLAVE HOSTS語句 93
第11章 MySQL復(fù)制延遲Seconds_Behind_Master究竟是如何計算的 96
11.1 “口口相傳”的計算方法 96
11.2 探尋“正確”的計算方法 97
11.3 驗證 100
11.3.1 我們想確認什么 100
11.3.2 提前確認一些信息 100
11.3.3 執(zhí)行驗證 102
11.4 小結(jié) 103
第12章 如何保證從庫在意外中止后安全恢復(fù) 104
12.1 從庫的崩潰與恢復(fù)概述 104
12.2 從庫的崩潰與恢復(fù)詳解 104
12.2.1 單線程復(fù)制的安全恢復(fù) 104
12.2.2 多線程復(fù)制的安全恢復(fù) 105
第13章 MySQL Server復(fù)制過濾 108
13.1 MySQL Server復(fù)制過濾規(guī)則概述 108
13.2 庫級別復(fù)制過濾選項的評估 109
13.3 表級別復(fù)制過濾選項的評估 113
13.4 復(fù)制過濾規(guī)則的應(yīng)用 115
方 案 篇
第14章 搭建異步復(fù)制 120
14.1 操作環(huán)境信息 120
14.2 全新初始化場景 121
14.2.1 傳統(tǒng)復(fù)制 121
14.2.2 GTID復(fù)制 124
14.3 已有數(shù)據(jù)場景 126
14.3.1 傳統(tǒng)復(fù)制 127
14.3.2 GTID復(fù)制 134
14.4 變量模板 140
14.4.1 傳統(tǒng)復(fù)制模式的變量模板 140
14.4.2 GTID復(fù)制模式的變量模板 144
第15章 搭建半同步復(fù)制 146
15.1 半同步復(fù)制插件的安裝和配置環(huán)境要求 146
15.2 半同步復(fù)制插件的安裝和配置 147
15.2.1 關(guān)鍵步驟 147
15.2.2 詳細過程 148
15.3 半同步復(fù)制工作狀態(tài)的驗證 152
第16章 通過擴展從庫以提高復(fù)制性能 155
16.1 操作環(huán)境 155
16.2 橫向擴展 156
16.2.1 擴展從庫的簡要步驟 157
16.2.2 擴展從庫的詳細過程 158
16.2.3 配置從庫的讀負載均衡 164
16.3 提高復(fù)制性能 165
第17章 復(fù)制模式的切換 167
17.1 操作環(huán)境信息 167
17.2 復(fù)制模式的相關(guān)概念 167
17.3 傳統(tǒng)復(fù)制在線變更為GTID復(fù)制 173
17.3.1 簡要步驟 173
17.3.2 詳細過程 173
17.4 GTID復(fù)制在線變更為傳統(tǒng)復(fù)制 179
17.4.1 簡要步驟 179
17.4.2 詳細過程 180
17.5 GTID復(fù)制離線變更為傳統(tǒng)復(fù)制 186
17.5.1 簡要步驟 186
17.5.2 詳細過程 187
17.6 傳統(tǒng)復(fù)制離線變更為GTID復(fù)制 191
17.6.1 簡要步驟 191
17.6.2 詳細過程 191
第18章 復(fù)制拓撲的在線調(diào)整 196
18.1 操作環(huán)境信息 196
18.2 傳統(tǒng)復(fù)制模式下的復(fù)制拓撲在線調(diào)整 197
18.2.1 并行復(fù)制變更為串行復(fù)制 198
18.2.2 串行復(fù)制變更為并行復(fù)制 206
18.3 GTID復(fù)制模式下的復(fù)制拓撲在線調(diào)整 211
18.3.1 并行復(fù)制變更為串行復(fù)制 212
18.3.2 串行復(fù)制變更為并行復(fù)制 214
第19章 主從實例的例行切換 218
19.1 操作環(huán)境信息 218
19.2 在線切換 219
19.2.1 基于賬號刪除的在線切換 220
19.2.2 基于修改連接數(shù)的在線切換 232
第20章 數(shù)據(jù)庫故障轉(zhuǎn)移 239
20.1 操作環(huán)境信息 240
20.2 主庫故障轉(zhuǎn)移的關(guān)鍵步驟 241
20.3 主庫故障轉(zhuǎn)移的詳細過程 243
20.3.1 環(huán)境的準備 243
20.3.2 執(zhí)行步驟 245
第21章 搭建多源復(fù)制 255
21.1 操作環(huán)境信息 255
21.2 基于傳統(tǒng)復(fù)制的多源復(fù)制 256
21.2.1 傳統(tǒng)復(fù)制模式下的單線程多源復(fù)制 256
21.2.2 傳統(tǒng)復(fù)制模式下的多線程多源復(fù)制 261
21.3 基于GTID復(fù)制的多源復(fù)制 263
21.3.1 GTID復(fù)制模式下的單線程多源復(fù)制 264
21.3.2 GTID復(fù)制模式下的多線程多源復(fù)制 267
21.4 多源復(fù)制拓撲中復(fù)制相關(guān)的操作語句變化 268
第22章 MySQL版本升級 273
22.1 MySQL版本之間的復(fù)制兼容性 273
22.2 升級復(fù)制的設(shè)置 274
第23章 將不同數(shù)據(jù)庫的數(shù)據(jù)復(fù)制到不同實例 276
23.1 操作環(huán)境信息 276
23.2 通過設(shè)置復(fù)制過濾規(guī)則將不同數(shù)據(jù)庫的數(shù)據(jù)復(fù)制到不同實例 277
23.2.1 通過只讀選項配置復(fù)制過濾規(guī)則 278
23.2.2 通過動態(tài)語句配置復(fù)制過濾規(guī)則 286
第24章 發(fā)生數(shù)據(jù)誤操作之后的處理方案 293
24.1 操作環(huán)境信息 294
24.2 主庫發(fā)生誤操作后的數(shù)據(jù)恢復(fù) 295
24.2.1 通過延遲復(fù)制恢復(fù)數(shù)據(jù) 296
24.2.2 通過閃回工具恢復(fù)數(shù)據(jù) 302
24.3 從庫發(fā)生誤操作后的數(shù)據(jù)恢復(fù) 309
24.3.1 通過修改系統(tǒng)變量slave_exec_mode恢復(fù)數(shù)據(jù) 309
24.3.2 通過GTID特性注入空事務(wù)恢復(fù)數(shù)據(jù) 316
第25章 常用復(fù)制故障排除方案 323
25.1 確認故障現(xiàn)象 323
25.2 信息收集與故障排查 323
25.3 復(fù)制故障的修復(fù) 325
25.4 無法解決的問題 326
參 考 篇
第26章 二進制日志文件的基本組成 328
26.1 什么是二進制日志 328
26.2 二進制日志的組成 328
26.3 二進制日志內(nèi)容解析 329
26.3.1 基于row的復(fù)制的二進制日志內(nèi)容解析 330
26.3.2 基于statement的復(fù)制的二進制日志內(nèi)容解析 344
26.4 小結(jié) 351
第27章 常規(guī)DDL操作解析 352
27.1 操作環(huán)境信息 352
27.2 常規(guī)DDL操作示例 353
27.3 二進制日志內(nèi)容解析 356
27.4 小結(jié) 359
第28章 為何二進制日志中同一個事務(wù)的事件時間點會亂序 360
28.1 操作環(huán)境信息 360
28.2 驗證前的準備 360
28.3 驗證過程 361
第29章 復(fù)制AUTO_INCREMENT字段 367
29.1 操作環(huán)境信息 367
29.2 復(fù)制AUTO_INCREMENT字段的操作示例 367
29.3 對二進制日志的解析及解釋 368
29.3.1 基于row的復(fù)制中AUTO_INCREMENT字段的復(fù)制 368
29.3.2 基于statement的復(fù)制中AUTO_INCREMENT字段的復(fù)制 369
29.3.3 混合復(fù)制中AUTO_INCREMENT字段的復(fù)制 371
29.4 使用AUTO_INCREMENT字段時的注意事項 371
29.5 小結(jié) 372
第30章 復(fù)制CREATE ... IF NOT EXISTS語句 373
30.1 操作環(huán)境信息 373
30.2 復(fù)制CREATE ... IF NOT EXISTS語句的操作演示 374
30.3 二進制日志解析結(jié)果的解釋 375
30.4 小結(jié) 376
第31章 復(fù)制CREATE TABLE ... SELECT語句 377
31.1 操作環(huán)境信息 377
31.2 復(fù)制CREATE TABLE ... SELECT語句的操作示例 377
31.3 二進制日志的解析及解釋 380
31.3.1 statement格式二進制日志的解析及解釋 380
31.3.2 row格式和mixed格式二進制日志的解析及解釋 381
31.4 使用CREATE TABLE ... SELECT語句時的注意事項 384
31.5 小結(jié) 384
第32章 在主從復(fù)制中使用不同的表定義 385
32.1 操作環(huán)境信息 385
32.2 主從庫的表字段數(shù)不同時如何復(fù)制 386
32.2.1 源表字段數(shù)多于目標表字段數(shù) 386
32.2.2 目標表字段數(shù)多于源表字段數(shù) 388
32.3 不同類型字段的復(fù)制 389
32.3.1 屬性提升 390
32.3.2 有損轉(zhuǎn)換與無損轉(zhuǎn)換 390
32.4 小結(jié) 391
第33章 復(fù)制中的調(diào)用功能 392
33.1 操作環(huán)境信息 392
33.2 復(fù)制中的調(diào)用功能操作示例 392
33.2.1 在READ-COMMITTED隔離級別、基于row的復(fù)制場景下數(shù)據(jù)庫的
操作記錄 393
33.2.2 在READ-COMMITTED隔離級別、基于statement的復(fù)制場景下
數(shù)據(jù)庫的操作記錄 396
33.3 二進制日志的解析及解釋 396
33.3.1 row和mixed格式二進制日志的解析及解釋 396
33.3.2 statement格式二進制日志的解析及解釋 402
33.4 小結(jié) 407
第34章 復(fù)制LIMIT子句 408
34.1 操作環(huán)境信息 408
34.2 復(fù)制LIMIT子句的操作示例 408
34.3 二進制日志的解析及解釋 409
34.3.1 statement格式二進制日志的解析及解釋 410
34.3.2 row格式和mixed格式二進制日志的解析及解釋 411
34.4 小結(jié) 414
第35章 復(fù)制LOAD DATA語句 415
35.1 操作環(huán)境信息 415
35.2 復(fù)制LOAD DATA語句的操作示例 416
35.2.1 準備演示數(shù)據(jù) 416
35.2.2 LOAD DATA語句的操作 417
35.3 二進制日志的解析及解釋 417
35.3.1 statement格式二進制日志的解析及解釋 417
35.3.2 row格式和mixed格式二進制日志的解析及解釋 419
35.4 小結(jié) 420
第36章 系統(tǒng)變量max_allowed_packet對復(fù)制的影響 421
36.1 系統(tǒng)變量簡介 421
36.2 操作環(huán)境信息 422
36.3 max_allowed_packet對復(fù)制的影響操作示例 423
36.3.1 max_allowed_packet對主庫的影響 423
36.3.2 max_allowed_packet對從庫的影響 424
36.4 小結(jié) 427
第37章 復(fù)制臨時表 429
37.1 操作環(huán)境信息 429
37.2 復(fù)制臨時表的操作示例 429
37.2.1 基于statement的復(fù)制且隔離級別為REPEATABLE-READ 430
37.2.2 基于row的復(fù)制且隔離級別為REPEATABLE-READ 432
37.2.3 混合復(fù)制且隔離級別為REPEATABLE-READ 433
37.2.4 使用臨時表時如何安全關(guān)閉從庫 433
37.3 與臨時表相關(guān)的其他注意事項 435
37.4 小結(jié) 435
第38章 復(fù)制中的事務(wù)不一致問題 436
38.1 事務(wù)不一致的場景類型 436
38.2 事務(wù)不一致的原因 437
38.3 事務(wù)不一致的后果 437
38.4 小結(jié) 438