前言
第1章 數據庫介紹與分類 / 1
1.1 數據庫介紹 / 1
1.2 數據庫的種類 / 1
1.2.1 關係型數據庫介紹 / 2
1.2.2 非關係型數據庫介紹 / 3
1.3 常用關係型數據庫産品介紹 / 6
1.3.1 Oracle數據庫 / 6
1.3.2 MySQL數據庫 / 6
1.3.3 MariaDB數據庫 / 7
1.3.4 SQL Server數據庫 / 7
1.3.5 Access數據庫 / 7
1.3.6 PostgreSQL數據庫 / 8
1.3.7 其他不常用的關係型數據庫 / 8
1.4 常用非關係型數據庫産品介紹 / 9
1.4.1 Memcached(key-value) / 9
1.4.2 redis(key-value) / 10
1.4.3 MongoDB(document-oriented) / 10
1.4.4 Cassandra(column-oriented) / 11
1.4.5 其他非關係型數據庫 / 12
1.5 數據庫相關知識 / 12
1.5.1 數據庫發展曆史大事記 / 12
1.5.2 數據庫軟件企業應用排名及發展趨勢參考 / 12
1.6 本章重點 / 14
1.7 章節試題 / 14
第2章 MySQL數據庫入門知識介紹 / 15
2.1 MySQL介紹 / 15
2.1.1 MySQL簡介 / 15
2.1.2 MariaDB數據庫的誕生背景介紹 / 15
2.1.3 為什麼選擇MySQL數據庫 / 16
2.2 MySQL數據庫分類與版本升級 / 16
2.2.1 MySQL數據庫企業版與社區版的區彆 / 16
2.2.2 MySQL數據庫的四種發布版本介紹 / 17
2.3 MySQL數據庫軟件的命名介紹 / 18
2.4 MySQL産品路綫 / 19
2.4.1 MySQL産品路綫變更曆史背景 / 19
2.4.2 MySQL-5.0.xx到MySQL-5.1.xx的産品綫 / 19
2.4.3 MySQL-5.4.xx到MySQL-5.7.xx産品綫 / 19
2.4.4 MySQL-Cluster-6.0.xx到MySQL-Cluster-7.5.xx産品綫 / 20
2.5 生産場景中如何選擇MySQL版本 / 20
2.5.1 MySQL數據庫發布特性 / 20
2.5.2 企業生産場景選擇MySQL數據庫的建議 / 20
2.6 章節試題 / 21
第3章 MySQL數據庫安裝方法及安裝實踐 / 22
3.1 MySQL數據庫的安裝方法及選擇 / 22
3.1.1 yum/rpm方式安裝MySQL / 22
3.1.2 采用常規方式編譯安裝MySQL / 24
3.1.3 采用cmake方式編譯安裝MySQL / 25
3.1.4 采用二進製方式免編譯安裝MySQL / 25
3.1.5 如何正確選擇MySQL的安裝方式 / 25
3.2 安裝並配置MySQL數據庫 / 26
3.2.1 安裝MySQL數據庫 / 26
3.2.2 創建MySQL數據庫配置文件並對數據庫目錄授權 / 30
3.2.3 初始化MySQL數據庫文件 / 30
3.2.4 配置並啓動MySQL數據庫 / 34
3.2.5 將MySQL相關命令加入全局路徑 / 36
3.2.6 登錄MySQL測試 / 37
3.2.7 基本的MySQL安全配置 / 38
3.3 MySQL安裝FAQ / 40
3.4 MySQL 5.6編譯常見參數選項說明 / 41
3.5 章節試題 / 42
第4章 MySQL多實例數據庫企業級應用實踐 / 43
4.1 MySQL多實例介紹 / 43
4.1.1 什麼是MySQL多實例 / 43
4.1.2 MySQL多實例的作用與問題 / 44
4.2 MySQL多實例的生産應用場景 / 45
4.2.1 資金緊張型公司的選擇 / 45
4.2.2 並發訪問不是特彆大的業務 / 45
4.2.3 門戶網站應用MySQL多實例場景 / 45
4.3 MySQL多實例常見的配置方案 / 46
4.3.1 單一配置文件、單一啓動程序多實例部署方案 / 46
4.3.2 多配置文件、多啓動程序部署方案 / 47
4.4 安裝並配置多實例MySQL數據庫 / 47
4.4.1 安裝MySQL多實例 / 47
4.4.2 創建MySQL多實例的數據文件目錄 / 49
4.4.3 創建MySQL多實例的配置文件 / 49
4.4.4 創建MySQL多實例的啓動文件 / 51
4.4.5 配置MySQL多實例的文件權限 / 54
4.4.6 MySQL相關命令加入全局路徑的配置 / 54
4.4.7 初始化MySQL多實例的數據庫文件 / 55
4.4.8 啓動MySQL多實例數據庫 / 57
4.4.9 MySQL多實例數據庫啓動故障排錯說明 / 58
4.5 配置及管理MySQL多實例數據庫 / 59
4.6 參考資料 / 63
4.7 章節試題 / 63
第5章 MySQL常用管理基礎知識實踐 / 64
5.1 啓動與關閉MySQL / 64
5.1.1 單實例MySQL啓動與關閉知識 / 64
5.1.2 多實例MySQL啓動與關閉方法示例 / 68
5.2 MySQL連接原理方法及提示符設置 / 69
5.2.1 客戶端連接MySQL服務器原理結構 / 69
5.2.2 默認單實例MySQL登錄方法 / 70
5.2.3 默認多實例MySQL登錄方法 / 71
5.2.4 異地遠程登錄MySQL方法 / 71
5.2.5 MySQL連接提示符說明 / 72
5.2.6 退齣MySQL數據庫 / 73
5.3 查看MySQL命令幫助 / 73
5.4 設置及修改mysql root用戶密碼 / 78
5.4.1 MySQL數據庫用戶安全策略介紹 / 78
5.4.2 為管理員root用戶設置及修改密碼 / 79
5.5 找迴MySQL root用戶密碼 / 80
5.5.1 找迴MySQL單實例root用戶密碼的方法 / 80
5.5.2 找迴MySQL多實例root用戶的密碼方法 / 82
5.6 章節試題 / 83
第6章 MySQL常用管理SQL語句應用實踐 / 84
6.1 SQL介紹 / 84
6.1.1 什麼是SQL / 84
6.1.2 SQL的分類 / 84
6.2 SQL解析原理流程 / 86
6.2.1 MySQL體係結構簡介 / 86
6.2.2 SQL解析流程介紹 / 87
6.3 SQL語句實踐 / 88
6.3.1 DDL語句之管理數據庫 / 88
6.3.2 DDL&&DCL語句之管理用戶 / 93
6.3.3 DDL語句之管理錶 / 105
6.3.4 DML語句之管理錶中的數據 / 116
6.4 參考資料 / 126
6.5 章節試題 / 127
第7章 MySQL數據庫備份與恢復基礎實踐 / 128
7.1 MySQL數據庫的備份與恢復 / 128
7.1.1 備份數據的意義 / 128
7.1.2 使用mysqldump進行數據庫備份實踐 / 128
7.1.3 mysqldump重要關鍵參數說明 / 140
7.1.4 生産場景下,不同引擎的mysqldump備份命令 / 141
7.1.5 利用SQL語句方式對錶進行導入導齣 / 141
7.2 恢復數據庫實踐 / 145
7.2.1 數據庫恢復基本事項 / 145
7.2.2 利用source命令恢復數據庫 / 145
7.2.3 利用mysql命令恢復(標準) / 147
7.2.4 利用mysql -e參數查看mysql數據 / 149
7.3 mysqlbinlog增量恢復工具 / 153
7.3.1 mysql的binlog日誌是什麼 / 153
7.3.2 mysql的binlog日誌的作用 / 154
7.3.3 mysql的binlog日誌功能如何開啓 / 154
7.3.4 mysqlbinlog工具解析binlog日誌實踐 / 154
7.3.5 mysqlbinlog命令常用參數 / 156
7.4 本章重點 / 157
第8章 MySQL企業級備份應用知識與實踐 / 158
8.1 數據庫備份的最高層次思想 / 158
8.2 數據庫管理員的兩大工作核心 / 158
8.3 全量備份與增量備份 / 159
8.3.1 全量備份的概念 / 159
8.3.2 增量備份的概念 / 159
8.3.3 全量與增量如何結閤備份 / 159
8.4 MySQL常用的備份方式 / 160
8.4.1 邏輯備份方式 / 160
8.4.2 物理備份方式 / 161
8.4.3 物理備份與邏輯備份的區彆 / 162
8.5 邏輯備份的企業級應用實戰 / 163
8.5.1 中小企業的MySQL備份實戰 / 163
8.5.2 中小企業MySQL增量恢復案例實戰 / 165
8.6 分庫分錶的生産備份策略 / 169
8.6.1 為什麼要分庫分錶備份 / 169
8.6.2 如何進行分庫備份 / 169
8.6.3 如何進行分錶備份 / 170
8.7 MySQL生産常用備份架構方案 / 171
8.8 本章重點 / 171
第9章 MySQL物理備份工具Xtrabackup應用實踐 / 172
9.1 Xtrabackup介紹 / 172
9.2 Xtrabackup備份涉及的數據庫名詞 / 172
9.3 Xtrabackup備份的工作原理流程 / 175
9.4 Xtrabackup工具安裝 / 178
9.4.1 係統環境說明 / 178
9.4.2 安裝Xtrabackup / 179
9.5 Xtrabackup應用實踐 / 179
9.5.1 用於Xtrabackup數據備份的用戶 / 179
9.5.2 用於恢復的MySQL配置文件 / 180
9.5.3 Xtrabackup軟件附帶的備份工具說明 / 181
9.5.4 Innobackupex工具語法介紹 / 181
9.5.5 全備與恢復全備實踐 / 182
9.5.6 增量備份與恢復增量數據實踐 / 185
9.5.7 中小企業MySQL Xtrabackup物理增量恢復案例實戰 / 189
9.5.8 使用Xtrabackup物理分庫分錶備份 / 194
9.5.9 使用Xtrabackup物理分庫分錶備份的恢復 / 195
第10章 MySQL數據庫日誌知識與企業應用實踐 / 197
10.1 MySQL常用日誌文件知識 / 197
10.2 錯誤日誌的介紹與配置 / 198
10.3 普通查詢日誌的介紹與配置 / 199
10.4 二進製日誌的介紹與配置 / 200
10.5 慢查詢日誌 / 208
10.6 本章重點 / 213
10.7 參考資料 / 213
第11章 MySQL數據庫字符集 / 214
11.1 MySQL數據庫字符集知識 / 214
11.1.1 什麼是字符集 / 214
11.1.2 MySQL數據庫字符集 / 215
11.1.3 常用字符集介紹與選擇建議 / 215
11.2 MySQL數據庫字符集配置 / 217
11.3 如何防止數據庫的中文顯示亂碼 / 221
11.4 如何更改MySQL數據庫庫錶的字符集 / 223
11.4.1 更改庫的字符集 / 223
11.4.2 更改錶的字符集 / 223
11.4.3 生産環境更改數據庫(含數據)字符集的方法 / 224
11.5 本章重點 / 224
第12章 MySQL數據庫存儲引擎知識 / 226
12.1 MySQL引擎概述 / 226
12.1.1 什麼是存儲引擎? / 226
12.1.2 MySQL存儲引擎的架構 / 227
12.2 查看MySQL支持的存儲引擎 / 228
12.3 MySQL 5.6支持的存儲引擎 / 229
12.4 MySQL常用存儲引擎特性對比 / 230
12.5 設置與更改MySQL的引擎 / 230
12.6 MyISAM引擎 / 232
12.6.1 什麼是MyISAM引擎? / 232
12.6.2 MyISAM引擎的存儲方式 / 232
12.6.3 MyISAM引擎的主要特點 / 233
12.6.4 MyISAM引擎適用的生産業務場景 / 233
12.7 InnoDB引擎 / 233
12.7.1 什麼是InnoDB引擎? / 233
12.7.2 InnoDB引擎的存儲方式 / 234
12.7.3 InnoDB引擎特點 / 235
12.7.4 InnoDB引擎適用的生産業務場景 / 236
12.7.5 InnoDB引擎相關參數介紹 / 236
12.7.6 InnoDB引擎調優的基本方法 / 237
12.8 Memory存儲引擎 / 238
12.9 ARCHIVE存儲引擎 / 238
12.10 NDB存儲引擎 / 239
12.11 有關MySQL引擎常見的企業麵試題 / 240
第13章 MySQL引擎之InnoDB / 241
13.1 InnoDB存儲引擎介紹 / 241
13.2 InnoDB和ACID模型 / 242
13.3 InnoDB多版本控製MVCC / 243
13.4 InnoDB體係結構 / 245
13.4.1 緩存池(buffer pool) / 246
13.4.2 change pool緩存池 / 250
13.4.3 自適應哈希索引(AHI) / 251
13.4.4 doublewrite緩存 / 252
13.4.5 重做日誌緩存(redo log buffer) / 253
13.4.6 重做日誌(redo log) / 253
13.4.7 係統(共享)錶空間 / 255
13.4.8 File-per-table獨立錶空間設置 / 257
13.4.9 undo日誌 / 260
13.4.10 臨時錶空間 / 262
13.4.11 InnoDB後颱綫程 / 262
13.5 InnoDB其他相關配置 / 263
13.5.1 啓動配置 / 263
13.5.2 指定配置文件位置 / 264
13.5.3 數據頁配置 / 264
13.5.4 InnoDB隻讀設置 / 264
13.5.5 InnoDB優化器統計信息配置 / 265
13.5.6 索引頁之間閤並閾值 / 269
13.6 InnoDB普通錶空間 / 269
13.7 InnoDB錶 / 270
13.7.1 InnoDB錶存儲結構 / 270
13.7.2 創建InnoDB錶 / 271
13.7.3 修改錶的存儲引擎 / 273
13.7.4 自增長字段設置 / 273
13.7.5 InnoDB錶主要的限製 / 273
第14章 MySQL主從復製知識與應用實踐 / 274
14.1 MySQL主從復製 / 274
14.1.1 MySQL主從復製介紹 / 274
14.1.2 MySQL主從復製企業級應用場景 / 276
14.1.3 MySQL主從讀寫分離實現方案 / 277
14.1.4 MySQL主從復製原理 / 279
14.1.5 MySQL主從復製原理及過程詳細描述 / 280
14.2 MySQL主從復製實踐 / 282
14.2.1 主從復製實踐準備 / 282
14.2.2 在主庫Master(51)上執行操作配置 / 283
14.2.3 在MySQL從庫上執行的操作過程 / 287
14.2.4 啓動從庫同步開關並測試主從復製 / 290
14.2.5 MySQL主從復製問題匯總 / 292
14.2.6 MySQL主從復製配置步驟小結 / 293
14.2.7 MySQL主從復製綫程狀態說明及用途 / 293
14.2.8 生産場景中部署MySQL主從復製方案 / 296
14.3 MySQL主從復製在企業中的故障案例 / 297
14.4 本章重點 / 298
14.5 參考資料 / 298
第15章 MySQL主從復製高級方案與應用實踐 / 299
15.1 MySQL集群企業級架構方案 / 299
15.2 MySQL企業級備份策略方案 / 301
15.3 MySQL主從復製生産場景的常見延遲原因及防範方案 / 302
15.4 MySQL主從復製數據一緻性企業級方案 / 302
15.5 MySQL多綫程復製解決復製延遲實踐 / 304
15.6 讓MySQL主從復製的從庫隻讀訪問 / 305
15.7 MySQL主從復製讀寫分離Web用戶生産設置方案 / 306
15.8 MySQL主從延遲復製方案及恢復實踐 / 308
15.9 本章重點 / 314
15.10 參考資料 / 314
第16章 MySQL復製高級方案應用實踐 / 315
16.1 MySQL級聯復製 / 315
16.1.1 MySQL級聯復製介紹 / 315
16.1.2 MySQL級聯復製實現要點 / 316
16.1.3 MySQL級聯復製的應用場景 / 316
16.2 MySQL主主復製 / 316
16.2.1 MySQL主主復製介紹 / 317
16.2.2 MySQL主主復製能夠解決的企業問題 / 317
16.2.3 MySQL主主復製的企業級實現方案 / 318
16.2.4 主主復製實踐(自增ID)準備 / 319
16.2.5 在主庫Master(51)上執行操作配置 / 319
16.2.6 在主庫2Master(52)上執行操作配置 / 320
16.2.7 在主庫1(51)上執行復製配置 / 322
16.2.8 在主庫1和主庫2進行測試 / 323
16.3 本章重點 / 324
16.4 MySQL雙主復製my.cnf完整配置對比 / 325
第17章 MySQL半同步復製與GTID復製實踐 / 326
17.1 MySQL復製的多種工作方式 / 326
17.1.1 異步復製介紹 / 326
17.1.2 全同步復製介紹 / 327
17.1.3 半同步復製 / 327
17.2 MySQL半同步復製原理及實踐準備 / 327
17.2.1 MySQL半同步復製介紹 / 327
17.2.2 MySQL半同步復製原理 / 328
17.2.3 MySQL半同步復製準備 / 329
17.3 MySQL半同步復製應用實踐 / 330
17.3.1 MySQL半同步復製插件介紹 / 330
17.3.2 MySQL主庫(db01)半同步插件安裝和配置 / 330
17.3.3 MySQL半同步復製參數介紹 / 332
17.3.4 MySQL從庫(db02)半同步插件安裝和配置 / 333
17.3.5 實踐1:半同步復製是否配置成功測試 / 335
17.3.6 實踐2:半同步復製超時等待測試 / 336
17.3.7 實踐3:主從復製故障時的半同步復製測試 / 338
17.4 生産半同步復製建議及其他方案說明 / 340
17.5 MySQL GTID復製 / 340
17.5.1 GTID復製簡介 / 340
17.5.2 基於GTID復製技術的優缺點及工作原理 / 341
17.5.3 GTID的優缺點 / 342
17.5.4 MySQL GTID復製的應用及實踐 / 342
17.5.5 GTID如何跳過事務衝突 / 345
17.6 本章重點 / 347
第18章 MySQL集群高可用方案MHA應用實踐 / 348
18.1 什麼是MHA / 348
18.2 MHA的基本架構組成 / 348
18.3 MHA的工作原理 / 349
18.4 MHA工具包介紹 / 350
18.5 MHA解決方案的優點 / 351
18.6 MHA方案實戰 / 351
18.6.1 搭建MHA的先決必要條件 / 351
18.6.2 MySQL節點規劃 / 352
18.6.3 配置SSH密鑰實現免密碼登錄 / 352
18.6.4 對所有的MySQL節點安裝MHA Node軟件 / 352
18.6.5 MHA管理節點安裝 / 353
18.6.6 配置MHA管理節點 / 354
18.7 啓動及測試MHA / 355
18.7.1 啓動MHA前需要檢測的要素說明 / 355
18.7.2 檢測SSH免密碼登錄配置 / 356
18.7.3 檢測MySQL集群主從復製狀況 / 356
18.8 配置VIP漂移 / 356
18.8.1 虛擬IP管理的兩種方式 / 356
18.8.2 配置腳本 / 357
第19章 MySQL讀寫分離Atlas工具實踐 / 358
19.1 什麼是Atlas / 358
19.2 Atlas的主要功能 / 358
19.3 Atlas與官方mysql- proxy的對比 / 359
19.4 安裝Atlas / 359
19.5 Atlas配置文件 / 359
19.6 啓動Atlas / 361
19.7 Atlas管理操作 / 361
第20章 雲關係型數據庫 / 363
20.1 阿裏雲RDS / 364
20.2 阿裏雲RDS for MySQL / 364
20.3 阿裏雲RDS雲數據庫的相關概念 / 364
20.3.1 地域 / 364
20.3.2 可用區 / 365
20.3.3 RDS實例 / 365
20.3.4 RDS for MySQL隻讀實例 / 365
20.3.5 RDS for MySQL剋隆實例 / 365
20.3.6 RDS for MySQL災備實例 / 366
20.3.7 RDS數據庫 / 367
20.3.8 RDS數據庫賬號 / 367
20.3.9 RDS連接數 / 367
20.3.10 RDS磁盤容量 / 367
20.3.11 RDS for MySQL讀寫分離 / 367
20.3.12 RDS for MySQL三節點企業版 / 367
20.3.13 RDS for MySQL單機版 / 368
20.3.14 RDS for MySQL跨可用去遷移 / 368
20.4 阿裏雲RDS for MySQL數據庫實戰 / 368
20.4.1 RDS for MySQL創建實例 / 368
20.4.2 RDS for MySQL升級實例 / 373
20.4.3 RDS for MySQL查看基本信息 / 374
20.4.4 RDS for MySQL數據庫管理 / 377
20.4.5 RDS for MySQL遠程訪問 / 383
20.4.6 RDS for MySQL備份與恢復 / 389
20.5 RDS for MySQL性能優化、報警管理及安全控製 / 400
20.5.1 RDS for MySQL資源監控 / 400
20.5.2 RDS for MySQL數據安全性 / 400
20.5.3 RDS for MySQL性能優化 / 403
20.6 RDS for MySQL日誌管理 / 404
20.7 RDS for MySQL的隻讀實例和剋隆 / 405
20.7.1 RDS for MySQL隻讀實例 / 405
20.7.2 RDS for MySQL隻讀實例功能特點 / 405
20.7.3 RDS for MySQL隻讀實例創建過程 / 405
20.7.4 RDS for MySQL創建隻讀實例 / 406
20.8 RDS for MySQL隻讀實例實現讀寫分離 / 408
20.9 RDS for MySQL剋隆實例 / 409
20.10 RDS for MySQL剋隆實例使用場景 / 409
20.10.1 剋隆實例用於數據迴溯 / 409
20.10.2 剋隆實例用於準生産測試 / 409
20.11 RDS for MySQL重點迴顧 / 410
· · · · · · (
收起)