又見塗抹(推薦序)
輪扁斫輪(自序)
第1 章 開源運動與開源軟件MySQL 1
1.1 開源軟件的故事 1
1.1.1 GNU 說,我代錶著一個夢想 3
1.1.2 FSF 說,兄弟我頂你 4
1.1.3 兄弟,你是“自由軟件”嗎 4
1.1.4 GPL 說,持證上崗光榮 5
1.1.5 開源軟件說,隊長彆開槍,咱們是一夥的 6
1.2 MySQL 的悄然而至 7
1.2.1 起源 7
1.2.2 根據地成立 9
1.2.3 快速發展,大踏步嚮前 9
1.2.4 世事難料,不經曆風雨怎能見彩虹 12
1.2.5 嚮前嚮前嚮前 14
1.2.6 以開源的心態學開源 15
第2 章 安裝MySQL 數據庫軟件 17
2.1 Windows 平颱安裝 18
2.1.1 安裝包方式安裝 19
2.1.2 壓縮包方式安裝 28
2.1.3 Windows 平颱的一些限製 29
2.2 Linux 平颱安裝 30
2.2.1 RPM 包方式安裝 31
2.2.2 源碼編譯方式安裝 37
2.2.3 二進製包方式安裝 40
第3 章 管理MySQL 數據庫服務 45
3.1 Windows 平颱下的MySQL 服務 46
3.2 Linux 平颱下的MySQL 服務 47
3.2.1 創建數據庫服務 47
3.2.2 啓動數據庫服務 51
3.2.3 配置MySQL 數據庫 51
3.3 MySQL 服務管理配置 54
3.3.1 創建管理腳本 55
3.3.2 開機自動啓動 56
第4 章 管理MySQL 庫與錶 58
4.1 上帝說,要有庫 58
4.1.1 說刪咱就刪 60
4.1.2 說建咱就建 61
4.2 上帝說,要有錶 64
4.2.1 想建咱就建 66
4.2.2 想看咱就看 71
4.2.3 想改咱就改 74
4.2.4 想刪咱就刪 78
第5 章 MySQL 數據庫中的權限體係 81
5.1 談談權限處理邏輯 81
5.1.1 能不能連接 81
5.1.2 能不能執行操作 82
5.1.3 權限變更何時生效 82
5.2 權限授予與迴收 83
5.2.1 創建用戶 84
5.2.2 授予權限 91
5.2.3 查看和收迴用戶權限 95
5.2.4 刪除用戶 98
5.3 權限級彆 99
5.3.1 全局 99
5.3.2 數據庫 103
5.3.3 錶 108
5.3.4 列 110
5.3.5 程序 112
5.4 賬戶安全管理 113
5.4.1 用戶與權限設定原則 113
5.4.2 小心曆史文件泄密 114
5.4.3 管理員口令丟失怎麼辦 115
第6 章 字符,還有個集 118
6.1 基礎掃盲 118
6.1.1 關於字符集 119
6.1.2 關於校對規則 120
6.2 支持的字符集和校對規則 120
6.3 指定字符集和校對規則 123
6.3.1 服務端設置默認字符集 124
6.3.2 連接時指定 126
6.3.3 保存時指定 132
6.4 字符集操作示例 136
6.5 角落裏的字符集設置 139
6.5.1 字符串的字符集 139
6.5.2 錯誤提示的字符集 140
6.5.3 國傢字符集 142
第7 章 選擇對象的存儲引擎 144
7.1 存儲引擎體係結構 145
7.2 常見存儲引擎 148
7.2.1 MEMORY 存儲引擎 149
7.2.2 CSV 存儲引擎 152
7.2.3 ARCHIVE 存儲引擎 153
7.2.4 BLACKHOLE 存儲引擎154
7.2.5 MERGE 存儲引擎 157
7.2.6 FEDERATED 存儲引擎 159
7.3 MyISAM 存儲引擎 165
7.3.1 MyISAM 引擎特性167
7.3.2 MyISAM 引擎存儲格式 169
7.4 InnoDB 存儲引擎 171
7.4.1 默認的存儲引擎 173
7.4.2 InnoDB 引擎配置 175
7.4.3 創建和使用InnoDB 錶對象 182
7.4.4 邏輯存儲結構185
7.4.5 多版本機製 188
7.4.6 聯機修改錶對象結構 189
7.4.7 InnoDB 錶對象的限製條件 201
第8 章 MySQL 數據庫文件結構 204
8.1 初始化選項文件 204
8.2 錯誤日誌文件 208
8.3 查詢日誌文件 209
8.3.1 慢查詢日誌 209
8.3.2 普通查詢日誌211
8.3.3 配置查詢日誌212
8.4 二進製日誌文件 215
8.4.1 這個必須有 215
8.4.2 它不是隨便的人 216
8.4.3 想說懂你不容易 217
8.5 中繼日誌及復製狀態文件 219
8.6 錶對象數據文件 221
8.7 其他文件 221
8.7.1 進程id 文件221
8.7.2 套接字文件 222
8.7.3 自動配置文件222
第9 章 數據導齣與導入 223
9.1 利用CSV 存儲引擎加載數據 223
9.2 mysqlimport 命令行工具導入數據 224
9.2.1 導入超簡單 225
9.2.2 分列超輕鬆 226
9.2.3 換行很容易 228
9.3 SQL 語句導入數據 229
9.3.1 快來認識下LOAD DATA INFILE 230
9.3.2 字符集咋處理的呐 232
9.3.3 要導入的數據文件放哪兒 234
9.3.4 數據文件的前N 行記錄不想導咋辦 236
9.3.5 列和行的精確處理 236
9.3.6 對象結構與數據文件不符咋整 246
9.4 SQL 語句導齣數據 249
9.4.1 這些知識,不學都會 250
9.4.2 這些知識,一學就會 251
第10 章 MySQL 數據備份和數據恢復 254
10.1 備份與恢復名詞解釋 254
10.1.1 物理備份VS 邏輯備份 255
10.1.2 聯機備份VS 脫機備份 256
10.1.3 本地備份VS 遠程備份 257
10.1.4 完整備份VS 增量備份 257
10.1.5 完整恢復VS 增量恢復 258
10.2 備份工具知多少 258
10.2.1 復製錶對象相關文件的方式創建備份集 258
10.2.2 使用mysqlhotcopy 命令行工具創建備份 259
10.2.3 使用mysqldump 命令行工具創建邏輯備份 259
10.2.4 使用SQL 語句創建備份 260
10.2.5 冷復製方式創建物理備份 260
10.2.6 二進製日誌創建增量備份260
10.2.7 第三方工具創建聯機備份260
10.3 Hey Jude, Don't be afraid, 備份咱有mysqldump 261
10.3.1 單個數據庫的備份任務 261
10.3.2 備份多個數據庫 263
10.3.3 輸齣定界格式文件 263
10.3.4 恢復mysqldump 創建的備份集 265
10.3.5 多學些mysqldump 命令行參數 266
10.3.6 自動化備份策略 272
10.4 冷備、增量備和備份恢復策略 275
10.4.1 創建冷備份275
10.4.2 創建增量備份 276
10.4.3 備份和恢復策略 278
10.5 XtraBackup 聯機備份 280
10.5.1 關於XtraBackup 280
10.5.2 先試試xtrabackup 命令 282
10.5.3 再用用innobackupex 命令 284
10.5.4 創建增量備份 287
10.5.5 執行恢復 290
10.5.6 打包和壓縮備份集 295
10.5.7 自動化備份腳本 296
第11 章 MySQL 復製特性 298
11.1 創建復製環境 300
11.1.1 最簡單的復製環境部署方法 300
11.1.2 復製環境配置寶典 307
11.1.3 常用的復製環境管理命令310
11.2 復製特性的實施原理和關鍵因素315
11.2.1 復製格式 315
11.2.2 中繼日誌文件和狀態文件319
11.2.3 復製過濾規則 322
11.3 高級應用技巧 332
11.3.1 通過XtraBackup 創建Slave節點 333
11.3.2 利用Slave 節點創建備份 336
11.3.3 部署級聯Slave 增強復製性能 340
11.3.4 半同步機製 343
11.3.5 復製環境中的故障切換 348
11.3.6 延遲復製 352
第12 章 五花八門的MySQL 管理工具 354
12.1 這些年MySQL 提供的命令行工具 354
12.1.1 mysql_install_db—MySQL建庫工具 355
12.1.2 mysqld_safe—MySQL 啓動工具 356
12.1.3 mysqld—MySQL 主進程 357
12.1.4 mysqld_multi—MySQL 多實例管理工具 360
12.1.5 mysql—專業命令行工具 362
12.1.6 mysqladmin—管理工具 368
12.1.7 其他常用命令 371
12.2 phpMyAdmin 372
12.2.1 安裝phpMyAdmin 372
12.2.2 配置phpMyAdmin 376
12.2.3 試用phpMyAdmin 379
12.3 MySQL Workbench 383
12.3.1 執行SQL 查詢 384
12.3.2 數據建模 386
12.3.3 服務管理 391
12.4 其他第三方圖形管理工具 394
第13 章 性能調優與診斷 396
13.1 測試方法 397
13.1.1 關鍵性指標 398
13.1.2 獲取關鍵性指標 402
13.1.3 TPCC 測試 411
13.2 數據庫參數配置優化 416
13.2.1 連接相關參數 417
13.2.2 文件相關參數 418
13.2.3 緩存控製參數 420
13.2.4 MyISAM 專用參數423
13.2.5 InnoDB 專用參數 425
13.2.6 參數優化案例 428
13.3 分析慢查詢日誌 432
13.3.1 mysqldumpslow 命令433
13.3.2 mysqlsla 命令 434
13.4 關注係統狀態 438
13.4.1 MySQL 服務在做什麼 438
13.4.2 MySQL 語句在做什麼 440
13.4.3 實戰優化案例 448
第14 章 部署MySQL 服務監控平颱 451
14.1 監控狀態,我用Nagios 452
14.1.1 初始化環境452
14.1.2 初識監控項454
14.1.3 配置監控項460
14.1.4 監控服務列錶 462
14.2 監控性能,我有Cacti 464
14.2.1 初始化環境與安裝Cacti 466
14.2.2 配置MySQL 監控模闆 474
14.2.3 監控MySQL 實例 478
第15 章 搭建MySQL 高可用體係 483
15.1 追求更高穩定性的服務體係 483
15.1.1 可擴展性 484
15.1.2 高可用性 485
15.2 Slave+LVS+Keepalived 實現高可用 488
15.2.1 配置LVS 489
15.2.2 配置RealServer491
15.2.3 增加高可用能力 494
15.3 Dual-Master 高可用環境 497
15.3.1 故障隨便切換 498
15.3.2 IP 自動飄移 504
15.3.3 架構設計有講究 510
15.4 DRBD,為Master 節點數據提供更高保障 512
15.4.1 基礎知識掃掃盲 512
15.4.2 一個好漢多個幫 515
15.5 官方集群正統MySQL Cluster 518
15.5.1 Cluster 體係結構概述 518
15.5.2 Cluster 安裝與配置520
15.5.3 Cluster 應用初體驗524
15.6 繼續擴展數據庫服務 527
15.6.1 該拆分時要拆分 528
15.6.2 處理策略得想清 532
· · · · · · (
收起)