-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

MySQL DBA修煉之道

( 簡體 字)
作者:陳曉勇類別:1. -> 資料庫 -> MySQL
譯者:
出版社:機械工業出版社MySQL DBA修煉之道 3dWoo書號: 46261
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:2/1/2017
頁數:486
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111558415
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書以實戰講解為主,摒棄了生產實踐中不常用的知識和技術。書中內容主要分為5部分。第壹部分介紹MySQL的應用領域和適用場景、基礎架構、常見生產環境部署方式,以及MySQL安裝部署方式等內容。第二部分給出DBA、開發人員需要熟悉的一些知識,比如開發基礎知識,如何選擇合適的數據類型、事務的隔離級別和死鎖避免等。第三部分則會介紹DBA及測試人員需要熟悉的測試知識,包括自動化壓力測試、硬件性能測試。第四部分對照DBA的工作講述生產的實際操作步驟,包括如何部署、升級、遷移備份數據等內容。第五部分講述性能調優的工具和手段,如何進行數據規劃,如何設計高可用性、高性能、伸縮性良好的系統。
目錄:

第一部分 入門篇
第1章 理解MySQL 2
1.1 MySQL介紹 2
1.1.1 應用領域和適用場景 2
1.1.2 為什么那么多公司和機構選擇使用MySQL 3
1.1.3 MySQL的優勢是什么,它解決了什么問題 3
1.2 MySQL的基礎架構和版本 4
1.2.1 軟件架構中數據庫的定位 4
1.2.2 MySQL的基礎架構 5
1.2.3 MySQL的版本及特性 6
1.2.4 MySQL的開發周期 8
1.3 查詢執行過程概述 9
1.4 MySQL權限 10
1.4.1 MySQL權限機制 10
1.4.2 賦予權限和回收權限 10
1.5 長連接、短連接、連接池 10
1.5.1 短連接 10
1.5.2 長連接 11
1.5.3 連接池 12
1.5.4 持久連接和連接池的區別 12
1.6 存儲引擎簡介 12
1.6.1 InnoDB引擎 12
1.6.2 MyISAM引擎 13
1.6.3 MEMORY存儲引擎 13
1.6.4 ARCHIVE存儲引擎 14
1.6.5 選擇合適的引擎 14
1.6.6 選擇何種平臺 14
1.7 MySQL復制架構 15
1.8 一些基礎概念 15
第2章 MySQL安裝部署和入門 17
2.1 如何選擇MySQL版本 17
2.2 官方版本的安裝 18
2.2.1 二進制包的安裝 18
2.2.2 源碼編譯安裝 20
2.3 其他MySQL分支的安裝 21
2.4 安裝InnoDB Plugin 21
2.5 常用命令 22
2.5.1 使用mysql命令 22
2.5.2 使用mysqladmin命令 26
2.5.3 使用mysqldump命令 26
2.6 MySQL的主要參數設置 27
第二部分 開發篇
第3章 開發基礎 30
3.1 相關基礎概念 30
3.2 數據模型 33
3.2.1 關系數據模型介紹 33
3.2.2 實體–關系建模 34
3.2.3 其他數據模型 35
3.3 SQL基礎 38
3.3.1 變量 39
3.3.2 保留字 40
3.3.3 MySQL注釋 42
3.3.4 數據類型 43
3.3.5 函數 51
3.3.6 操作符及優先級 53
3.3.7 MySQL示例employees數據庫 54
3.3.8 SQL語法 55
3.4 PHP開發 69
3.4.1 概述 69
3.4.2 客戶端訪問過程 69
3.4.3 開發工具 72
3.4.4 操作數據 73
3.4.5 PHP數據庫開發建議 78
3.5 索引 78
3.5.1 索引介紹 78
3.5.2 使用索引的場景及注意事項 79
3.5.3 索引的錯誤用法 82
3.5.4 如何使用EXPLAIN工具 83
3.5.5 優化索引的方法學 90
3.6 ID主鍵 91
3.7 字符集和國際化支持 93
3.7.1 什么是字符集 93
3.7.2 國際化支持 93
3.7.3 字符集設置 94
第4章 開發進階 98
4.1 范式和反范式 98
4.1.1 范式 98
4.1.2 反范式 102
4.2 權限機制和安全 104
4.2.1 MySQL訪問權限系統 104
4.2.2 強化安全 106
4.2.3 SQL注入 109
4.3 慢查詢日志 112
4.3.1 查看慢查詢日志 112
4.3.2 使用工具分析慢查詢日志 114
4.4 應用程序性能管理 118
4.4.1 為什么需要性能管理 118
4.4.2 應用性能管理概述 119
4.4.3 應用性能管理的關注點 120
4.4.4 具體應用 120
4.5 數據庫設計 122
4.5.1 邏輯設計 122
4.5.2 物理設計 123
4.6 導入導出數據 127
4.6.1 規則簡介 127
4.6.2 使用mysqldump導出,使用mysql導入 128
4.6.3 使用SELECT INTO OUTFILE命令導出數據 130
4.6.4 使用LOAD DATA導入數據 130
4.6.5 用mysqlimport工具導入 132
4.6.6 用mysql程序的批處理模式導出 132
4.6.7 用split切割文件,加速導入數據 133
4.7 事務和鎖 133
4.7.1 概述 133
4.7.2 MyISAM的表鎖 134
4.7.3 事務定義和隔離級別 135
4.7.4 InnoDB的行鎖 137
4.8 死鎖 141
4.9 其他特性 142
4.9.1 臨時表 142
4.9.2 分區表 142
4.9.3 存儲過程、觸發器、外鍵 147
4.9.4 視圖 159
第5章 開發技巧 161
5.1 存儲樹形數據 161
5.2 轉換字符集 163
5.3 處理重復值 165
5.4 分頁算法 167
5.5 處理NULL值 167
5.6 存儲URL地址 169
5.7 歸檔歷史數據 169
5.8 使用數據庫存儲圖片 170
5.9 多表UPDATE 170
5.10 生成全局唯一ID 171
5.11 使用SQL生成升級SQL 171
第6章 查詢優化 172
6.1 基礎知識 172
6.1.1 查詢優化的常用策略 172
6.1.2 優化器介紹 173
6.1.3 MySQL的連接機制 175
6.2 各種語句優化 176
6.2.1 連接的優化 176
6.2.2 GROUP BY、DISTINCT、ORDER BY語句優化 177
6.2.3 優化子查詢 178
6.2.4 優化limit子句 179
6.2.5 優化IN列表 180
6.2.6 優化UNION 181
6.2.7 優化帶有BLOB、TEXT類型字段的查詢 181
6.2.8 filesort的優化 181
6.2.9 優化SQL_CALC_FOUND_ROWS 183
6.2.10 優化臨時表 183
6.3 OLAP業務優化 184
第7章 研發規范 187
7.1 命名約定 187
7.2 索引 188
7.3 表設計 189
7.4 SQL語句 190
7.5 SQL腳本 191
7.6 數據架構的建議 192
7.7 開發環境、測試環境的配置參數建議 193
7.8 數據規劃表 193
7.9 其他規范 194
第三部分 測試篇
第8章 測試基礎 196
8.1 基礎概念 196
8.2 性能測試的目的 197
8.3 基準測試 197
8.4 性能/基準測試的步驟 199
8.5 測試的注意事項 199
第9章 測試實踐 201
9.1 硬件測試 201
9.1.1 概述 201
9.1.2 CPU測試 202
9.1.3 內存測試 203
9.1.4 I/O測試 203
9.1.5 網絡測試 207
9.2 MySQL測試 207
9.2.1 概述 207
9.2.2 常用測試工具的介紹和使用 208
9.2.3 MySQL基準測試模型 211
9.3 應用數據庫性能測試 221
第四部分 運維篇
第10章 基礎知識 224
10.1 文件和I/O管理 224
10.1.1 MySQL日志文件 224
10.1.2 InnoDB數據文件和日志文件 228
10.1.3 臨時文件 232
10.1.4 MySQL套接字文件 232
10.2 MySQL如何進行災難恢復 233
10.3 變量設置、配置文件和主要參數 234
10.3.1 概述 234
10.3.2 如何設置參數、變量 235
10.3.3 配置文件的讀取順序 235
10.3.4 環境變量、配置文件、命令行選項的優先級 237
10.3.5 配置文件詳述 237
10.3.6 配置文件示例 238
10.4 MySQL Query Cache和優化器 239
10.5 SHOW INNODB STATUS解析 241
第11章 MySQL的監控 250
11.1 非數據庫的監控 250
11.1.1 開源監控工具/平臺 250
11.1.2 編寫程序來收集信息 251
11.2 數據庫的監控 251
11.2.1 數據庫服務的基本監控方式 251
11.2.2 應該收集的信息和收集方法? 252
11.2.3 MySQL需要關注的參數及狀態變量 260
11.3 數據庫監控的實現 263
11.3.1 Nagios 263
11.3.2 swatch 263
11.3.3 Cacti 267
11.3.4 如何打造一個強大的監控系統 274
11.4 數據庫監控的可視化 275
11.4.1 折線圖 276
11.4.2 散點圖 276
11.4.3 熱圖 277
第12章 MySQL復制 279
12.1 基礎知識 279
12.1.1 原理及注意事項 279
12.1.2 常用命令 281
12.1.3 參數設置 287
12.1.4 配置文件 290
12.1.5 復制模式 292
12.1.6 復制兼容性 294
12.2 配置主從復制 294
12.3 配置主主復制 296
12.4 配置級聯復制、環形復制 297
12.5 跨IDC復制 297
12.6 多主復制 298
12.7 延時復制 298
12.8 半同步復制 299
12.9 在線搭建從庫 299
12.9.1 操作系統下對打包文件配置主從 299
12.9.2 利用mysqldump制作從庫 301
12.10 配置日志服務器 303
12.11 常見的復制問題及處理方法 305
12.11.1 跳過復制錯誤 305
12.11.2 臨時表和復制 305
12.11.3 內存表和復制 306
12.11.4 主庫宕機重新啟動成功,但復制關系中斷 306
12.11.5 主庫宕機重啟不成功 307
12.11.6 多個從庫的server-id相同 307
12.11.7 鎖定導致的復制延時 307
12.11.8 對MyISAM引擎的表恢復數據 307
12.11.9 如何徹底清除Slave設置 308
12.11.10 網絡異常導致的復制延時 308
第13章 遷移、升級、備份、恢復數據庫 309
13.1 升級 309
13.1.1 升級表結構或變更數據 309
13.1.2 MySQL版本升級 312
13.2 新業務部署上線 312
13.3 遷移 313
13.3.1 遷移步驟 313
13.3.2 切換數據庫時長短連接的影響 314
13.4 生產環境常用的備份策略 315
13.4.1 備份策略 315
13.4.2 備份建議 316
13.5 常用備份方式和恢復方法 316
13.5.1 使用dd備份和恢復數據 317
13.5.2 使用mysqldump備份和恢復數據 317
13.5.3 使用Percona XtraBackup備份和恢復數據 319
13.5.4 使用mysqlbinlog進行時間點恢復 326
第14章 運維技巧和常見問題處理 328
14.1 MySQL運維技巧 328
14.1.1 使用lsof命令恢復文件 328
14.1.2 如何刪除大文件 330
14.1.3 獲取吞吐信息 331
14.1.4 傳輸大文件 331
14.1.5 記錄連接用戶 331
14.1.6 如何判斷表的碎片 332
14.1.7 快速關閉MySQL 333
14.1.8 如何預熱數據 333
14.1.9 臨時禁止數據庫訪問 334
14.1.10 獲取MySQL連接、用戶 334
14.1.11 更改數據庫名 334
14.1.12 批量KILL連接 335
14.1.13 記錄運行時間長的查詢 335
14.1.14 刪除分表 335
14.2 常見問題 336
14.2.1 忘記root密碼 336
14.2.2 InnoDB同時打開事務最大不能超1023個 336
14.2.3 連接不上MySQL 336
14.2.4 主機的host_name被屏蔽 337
14.2.5 連接數過多 337
14.2.6 處理磁盤滿 338
14.2.7 表損壞 338
14.2.8 查看鎖的等待 338
14.2.9 mysqldump備份報錯 339
14.2.10 Table tbl_namedoesnt exist 339
14.2.11 root賬號權限異常 340
14.2.12 SHOW PROCESSLIST輸出中有大量unauthenticated user連接 340
14.2.13 統計information_schema里面的元數據信息緩慢 340
14.2.14 Aborted_connects、Aborted_clients異常升高 341
14.2.15 MySQL server has gone away錯誤 342
14.2.16 信息包過大錯誤 342
14.2.17 內存溢出 343
14.2.18 MySQL單張表為多大才合適,為什么大表會慢 343
14.2.19 MySQL最大能支持多大的并發查詢 344
14.2.20 創建索引出錯 344
14.3 故障和性能問題處理 344
14.3.1 通過減少文件排序和臨時表提高性能 344
14.3.2 通過慢查詢快速定位導致性能問題的SQL 345
14.3.3 定位導致了性能問題的客戶端/應用服務器 345
第15章 運維管理 346
15.1 規模化運維 346
15.1.1 基礎環境 346
15.1.2 虛擬化 348
15.1.3 關于去IOE 349
15.1.4 資源利用和隔離 350
15.1.5 關于備機、備份 351
15.2 服務器采購 352
15.3 運維規則 352
15.3.1 確保基礎網絡穩定可靠 353
15.3.2 應構建性能模型,進行容量規劃 353
15.3.3 優先擴容,再考慮優化 353
15.3.4 保持簡單 353
15.3.5 監控一切 354
15.3.6 處理監控報警 354
15.3.7 不要重復“造輪子” 354
15.3.8 允許出錯 354
15.3.9 設置備用角色 355
15.3.10 仔細閱讀產品文檔 355
15.3.11 畫數據流圖和物理部署圖 355
15.3.12 要有版本控制 356
15.3.13 解決問題要用合適的工具 356
15.3.14 系統工程師要具備定位瓶頸的能力 356
15.3.15 確保無線網絡的穩定 356
15.3.16 確保訪問生產網絡時有備用的訪問方式 357
15.3.17 讓優秀的人做工具/平臺 357
15.3.18 要有分工,每個角色都很重要 357
15.3.19 其他團隊應能輕松獲取生產環境信息 358
15.3.20 由獨立的系統處理代碼性能問題 358
15.3.21 運維人員應介入產品開發的初期 358
15.3.22 關注安全 358
15.3.23 關注配置管理 358
15.3.24 對優先級進行管理 359
15.3.25 不要為了優化而優化 359
15.3.26 不要過早優化 359
15.3.27 要有知識分享系統 359
15.3.28 參加業內技術論壇 359
15.3.29 必須開周會 360
15.3.30 積極支持隊友,和團隊一起成長 360
15.3.31 從公司的利益出發 360
15.3.32 確保每個人都是可以被替換的 360
15.3.33 不要受績效束縛 361
15.3.34 不斷優化流程設計 361
15.3.35 要了解一些財務知識 361
15.3.36 了解其他領域 362
第五部分 性能調優與架構篇
第16章 基礎理論和工具 364
16.1 性能調優理論 364
16.1.1 基礎概念 364
16.1.2 阿姆達爾定律 367
16.1.3 通用擴展定律 370
16.1.4 排隊論 373
16.2 診斷工具 375
16.2.1 OS診斷工具 375
16.2.2 MySQL診斷工具 392
16.3 調優方法論 417
16.3.1 性能調優的誤區 417
16.3.2 調優指引 417
16.3.3 調優步驟 419
16.3.4 調優的方法 420
第17章 應用程序調優 421
17.1 程序訪問調優 421
17.1.1 好的架構和程序邏輯 421
17.1.2 好的監控系統和可視化工具 424
17.1.3 良好的灰度發布和降級功能 425
17.1.4 合理地拆分代碼 425
17.2 應用服務器調優 425
第18章 MySQL Server調優 427
18.1 概述 427
18.2 MySQL的主要參數 428
18.3 MySQL內存優化 433
18.3.1 如何避免使用swap 433
18.3.2 NUMA 434
18.4 MySQL CPU優化 437
18.5 MySQL I/O優化 438
18.5.1 概述 438
18.5.2 選擇合適的I/O大小 439
18.5.3 日志緩沖如何刷新到磁盤 439
18.5.4 事務日志 440
18.5.5 二進制日志 441
18.5.6 InnoDB如何打開和刷新數據、日志文件 441
18.5.7 InnoDB共享表空間和獨立表空間 441
18.5.8 UNDO暴漲的可能性 442
18.5.9 關于doublewrite buffer 442
18.5.10 數據庫文件分類 442
18.5.11 何時運行OPTIMIZE TABLE 443
18.5.12 MySQL?磁盤空間 443
第19章 操作系統、硬件、網絡的優化 445
19.1 基本概念 445
19.2 文件系統的優化 446
19.3 內存 448
19.4 CPU 448
19.5 I/O 449
19.5.1 概述 449
19.5.2 傳統磁盤 449
19.5.3 關于RAID 450
19.5.4 關于SSD 451
19.6 網絡 452
第20章 可擴展的架構 454
20.1 做好容量規劃 454
20.2 擴展和拆分 455
20.3 讀寫分離 457
20.4 切勿過度設計 458
20.5 可擴展的方法 460
20.5.1 優化靜態內容、動態內容 460
20.5.2 網絡優化 461
20.5.3 解耦 461
20.6 使用云數據庫 462
第21章 高可用性 464
21.1 概述 464
21.2 單點故障 465
21.3 MySQL數據庫切換 466
21.4 跨IDC同步 468
第22章 其他產品的選擇 469
22.1 列式數據庫產品 469
22.2 NoSQL產品的選擇 470
22.2.1 概述 470
22.2.2 災難恢復性 472
22.2.3 可維護性 474
22.2.4 可靠性 475
22.2.5 高可用性 475
22.2.6 高性能 476
22.2.7 可擴展性 477
22.2.8 資源利用 479
22.2.9 功能特性實現 481
22.2.10 數據結構 484
22.2.11 選擇數據庫產品的建議 484
參考文獻 487
序: