| | | 深入淺出MySQL 數據庫開發 優化與管理維護 第3版 | 該商品所屬分類:計算機/網絡 -> 數據庫 | 【市場價】 | 1744-2528元 | 【優惠價】 | 1090-1580元 | 【作者】 | 翟振興、張恆岩、崔春華、黃榮、董騏銘 | 【所屬類別】 | 圖書 計算機/網絡 數據庫 SQL | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115515391 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](http://img3m0.ddimg.cn/29/31/29520740-1_u_1.jpg)
包裝:平裝 是否套裝:否 國際標準書號ISBN:9787115515391 作者:翟振興、張恆岩、崔春華、黃榮、董騏銘 出版社:人民郵電出版社 出版時間:2023年02月 
" 編輯推薦 1.同名熱銷圖書的升級版,基於官方的MySQL 5.7版本進行修訂,新增了大量8.0新特性。
2.新增數據庫自動化運維章節,可幫助讀者輕松搭建自己的RDS。
3.更新“架構篇”,復制/中間件/高可用,更貼近實戰。 內容簡介 《深入淺出MySQL:數據庫開發、優化與管理維護(第3版)》源自網易公司多位資深數據庫專家數年的經驗總結和MySQL數據庫的使用心得,在之前版本的基礎之上,基於MySQL 5.7版本進行了內容升級,同時也對MySQL 8.0的重要功能進行了介紹。除了對原有內容的更新之外,本書還新增了作者在高可用架構、數據庫自動化運維,以及數據庫中間件方面的實踐和積累。 《深入淺出MySQL:數據庫開發、優化與管理維護(第3版)》源自網易公司多位資深數據庫專家數年的經驗總結和MySQL數據庫的使用心得,在之前版本的基礎之上,基於MySQL 5.7版本進行了內容升級,同時也對MySQL 8.0的重要功能進行了介紹。除了對原有內容的更新之外,本書還新增了作者在高可用架構、數據庫自動化運維,以及數據庫中間件方面的實踐和積累。
《深入淺出MySQL:數據庫開發、優化與管理維護(第3版)》分為“基礎篇”“開發篇”“優化篇”“管理維護篇”和“架構篇”5個部分,共32章。基礎篇面向MySQL的初學者,介紹了MySQL的安裝與配置、SQL基礎、MySQL支持的數據類型、MySQL中的運算符、常用函數等內容。開發篇面向的是MySQL設計和開發人員,內容涵蓋了表類型(存儲引擎)的選擇、選擇合適的數據類型、字符集、索引的設計和使用、開發常用數據庫對像、事務控制和鎖定語句、SQL中的安全問題、SQL Mode及相關問題、MySQL分區等。優化篇針對的是開發人員和數據庫管理人員,內容包括SQL優化、鎖問題、優化MySQL Server、磁盤I/O問題、應用優化、PS/SYS數據庫、故障診斷等內容。管理維護篇適合數據庫管理員閱讀,介紹了MySQL高級安裝和升級、MySQL中的常用工具、MySQL日志、備份與恢復、MySQL權限與安全、MySQL監控、MySQL常見問題和應用技巧、自動化運維繫統的開發等內容。架構篇主要面向高級數據庫管理人員和數據庫架構設計師,內容包括MySQL復制、高可用架構、MySQL中間件等內容。
《深入淺出MySQL:數據庫開發、優化與管理維護(第3版)》內容實用,覆蓋廣泛,講解由淺入深,還提供了大量來自一線的工作實例,進一步提升了本書的實戰性和可操作性。本書適合數據庫管理人員、數據庫開發人員、繫統維護人員、數據庫初學者及其他數據庫從業人員閱讀,也適合用作大中專院校相關專業師生的參考用書和相關培訓機構的培訓教材。
作者簡介 翟振興,網易技術專業人員,畢業於清華大學軟件學院,2005年入職網易,經歷了網易多個核心繫統的數據庫設計和運維工作,對高並發下的數據庫架構變遷有著深刻的理解,目前主要對自動化運維、大數據、NewSQL等新技術有著較多的興趣和研究。
張恆岩,網易技術經理,2010年畢業於北京科技大學,在網易DBA組工作9年,負責過網易內部多個核心數據庫的運維以及數據庫自動化運維繫統的設計和開發。在數據庫架構設計、性能優化、故障診斷以及自動化運維等方面有豐富的經驗。
崔春華,網易DBA,有 10 多年的數據庫技術領域從業經驗,深刻理解數據庫原理並具有豐富的實戰經驗,擁有Oracle 9i OCP證書,曾先後混跡於石化、電信行業,加入網易後,負責網易多個核心業務的數據庫設計和維護工作,擅長數據庫優化、故障診斷、架構設計,主要參與Cetus開源項目和私有雲RDS底層設計開發。
黃榮,網易數據庫工程師,畢業於北京郵電大學,曾參與了網易多個核心業務的數據庫設計和開發。至今有12年數據庫相關工作經驗,尤其擅長高可用架構設計、數據庫優化及故障診斷。現專注於研究MySQL內部原理、探索MySQL新技術和開發自動化運維平臺。
董騏銘,網易高級數據庫工程師,畢業於北京航空航天大學,負責網易數據庫運維平臺的研發工作,參與了Cetus及其管理工具項目的開發,專注於自動化與智能運維相關技術的探索與實現。 目錄 第 一部分 基礎篇
第1章 MySQL的安裝與配置2
1.1MySQL的下載2
1.1.1在Windows平臺下下載MySQL3
1.1.2在Linux平臺下下載MySQL3
1.2MySQL的安裝5
1.2.1在Windows平臺下安裝MySQL5 第 一部分 基礎篇
第1章 MySQL的安裝與配置2
1.1MySQL的下載2
1.1.1在Windows平臺下下載MySQL3
1.1.2在Linux平臺下下載MySQL3
1.2MySQL的安裝5
1.2.1在Windows平臺下安裝MySQL5
1.2.2在Linux平臺下安裝MySQL8
1.3MySQL的配置12
1.3.1Windows平臺下配置MySQL12
1.3.2Linux平臺下配置MySQL13
1.4啟動和關閉MySQL服務13
1.4.1在Windows平臺下啟動和關閉MySQL服務13
1.4.2在Linux平臺下啟動和關閉MySQL服務13
1.5小結14
第2章 SQL基礎15
2.1SQL簡介15
2.2(My)SQL使用入門15
2.2.1SQL分類15
2.2.2DDL語句16
2.2.3DML語句23
2.2.4DCL語句33
2.3幫助的使用34
2.3.1按照層次看幫助34
2.3.2快速查閱幫助35
2.4數據信息36
2.5小結37
第3章MySQL支持的數據類型38
3.1數值類型38
3.2日期時間類型43
3.3字符串類型49
3.3.1CHAR和VARCHAR類型50
3.3.2BINARY和VARBINARY類型51
3.3.3ENUM類型51
3.3.4SET類型52
3.4JSON類型52
3.5小結54
第4章MySQL中的運算符55
4.1算術運算符55
4.2比較運算符56
4.3邏輯運算符59
4.4位運算符60
4.5運算符的優先級61
4.6小結62
第5章常用函數63
5.1字符串函數63
5.2數值函數66
5.3日期和時間函數68
5.4流程函數71
5.5JSON函數73
5.5.1創建JSON函數74
5.5.2查詢JSON函數75
5.5.3修改JSON的函數79
5.5.4查詢J數據函數81
5.5.5JSON工具函數83
5.6窗口函數86
5.6.1ROW_NUMBER()87
5.6.2RANK()/DENSE_RANK()89
5.6.3PERCENT_RANK()/CUME_DIST()89
5.6.4NFILE(N)90
5.6.5NTH_VALUE(expr,N)91
5.6.6LAG(expr,N)/LEAD(expr,N)91
5.6.7FIRST_VALUE(expr)/LAST_VALUE(expr)92
5.6.8聚合函數作為窗口函數93
5.7其他常用函數93
5.8小結95
第二部分開發篇
第6章表類型(存儲引擎)的選擇98
6.1MySQL存儲引擎概述98
6.2各種存儲引擎的特性100
6.2.1MyISAM101
6.2.2InnoDB102
6.2.3MEMORY108
6.2.4MERGE109
6.2.5TokuDB111
6.3如何選擇合適的存儲引擎112
6.4小結113
第7章選擇合適的數據類型114
7.1CHAR與VARCHAR114
7.2TEXT與BLOB115
7.3浮點數與定點數118
7.4日期類型選擇120
7.5小結120
第8章字符集121
8.1字符集概述121
8.2Unicode簡述121
8.3漢字及一些常見字符集123
8.4怎樣選擇合適的字符集124
8.5MySQL支持的字符集簡介125
8.6MySQL字符集的設置126
8.6.1服務器字符集和排序規則126
8.6.2數據庫字符集和排序規則127
8.6.3表字符集和排序規則127
8.6.4列字符集和排序規則128
8.6.5連接字符集和排序規則128
8.7字符集的修改步驟129
8.8小結129
第9章索引的設計和使用130
9.1索引概述130
9.2設計索引的原則131
9.3索引設計的誤區132
9.4索引設計的一般步驟132
9.5BTREE索引與HASH索引133
9.6索引在MySQL 8.0中的改進134
9.6.1不可見索引134
9.6.2倒序索引135
9.7小結136
第10章 開發常用數據庫對像137
10.1視圖137
10.1.1什麼是視圖137
10.1.2視圖操作137
10.1.3創建或者修改視圖137
10.1.4刪除視圖139
10.1.5查看視圖139
10.2存儲過程和函數140
10.2.1什麼是存儲過程和函數141
10.2.2存儲過程和函數的相關操作141
10.2.3創建、修改存儲過程或者函數141
10.2.4刪除存儲過程或者函數144
10.2.5查看存儲過程或者函數144
10.2.6變量的使用146
10.2.7定義條件和處理146
10.2.8光標的使用148
10.2.9流程控制149
10.2.10事件調度器152
10.3觸發器155
10.3.1創建觸發器155
10.3.2刪除觸發器157
10.3.3查看觸發器157
10.3.4觸發器的使用158
10.4小結159
第11章 事務控制和鎖定語句160
11.1LOCK TABLES和UNLOCK TABLES160
11.2事務控制161
11.3分布式事務的使用166
11.3.1分布式事務的原理166
11.3.2分布式事務的語法166
11.3.3存在的問題168
11.4小結171
第12章 SQL中的安全問題172
12.1SQL注入簡介172
12.2應用開發中可以采取的應對措施173
12.2.1PrepareStatement+Bind-Variable173
12.2.2使用應用程序提供的轉換函數174
12.2.3自己定義函數進行校驗174
12.3小結175
第13章 SQL Mode及相關問題176
13.1MySQL SQL Mode簡介176
13.2SQL Mode的常見功能178
13.3常用的SQL Mode180
13.4SQL Mode在遷移中如何使用182
13.5小結183
第14章 MySQL分區184
14.1分區概述184
14.2分區類型185
14.2.1RANGE分區187
14.2.2LIST 分區188
14.2.3COLUMNS 分區189
14.2.4HASH分區192
14.2.5KEY分區195
14.2.6子分區196
14.2.7MySQL分區處理NULL值的方式197
14.3分區管理199
14.3.1RANGE與LIST分區管理199
14.3.2HASH與KEY分區管理205
14.3.3交換分區206
14.4小結208
第三部分優化篇
第15章 SQL優化210
15.1優化SQL語句的一般步驟210
15.1.1通過show status命令了解各種SQL的執行頻率210
15.1.2定位執行效率較低的SQL語句211
15.1.3通過EXPLAIN分析低效SQL的執行計劃211
15.1.4通過show profile分析SQL216
15.1.5通過trace分析優化器如何選擇執行計劃219
15.1.6確定問題並采取相應的優化措施220
15.2索引問題220
15.2.1索引的存儲分類220
15.2.2MySQL如何使用索引222
15.2.3查看索引使用情況231
15.3兩個簡單實用的優化方法231
15.3.1定期分析表和檢查表232
15.3.2定期優化表233
15.4常用SQL的優化233
15.4.1大批量插入數據234
15.4.2優化INSERT語句235
15.4.3優化ORDER BY語句235
15.4.4優化GROUP BY語句239
15.4.5優化JOIN操作239
15.4.6優化嵌套查詢243
15.4.7MySQL如何優化OR條件245
15.4.8優化分頁查詢246
15.4.9使用SQL提示248
15.5直方圖250
15.5.1什麼是直方圖250
15.5.2直方圖的分類251
15.5.3直方圖實例應用252
15.5.4直方圖小結256
15.6使用查詢重寫256
15.7常用SQL技巧259
15.7.1正則表達式的使用259
15.7.2巧用RAND()提取隨機行261
15.7.3利用GROUP BY的WITH ROLLUP子句262
15.7.4用BIT GROUP FUNCTIONS做統計263
15.7.5數據庫名、表名大小寫問題265
15.7.6使用外鍵需要注意的問題265
15.8小結266
第16章 鎖問題267
16.1MySQL鎖概述267
16.2MyISAM表鎖268
16.2.1查詢表級鎖爭用情況268
16.2.2MySQL表級鎖的鎖模式268
16.2.3如何加表鎖269
16.2.4並發插入(Concurrent Inserts)271
16.2.5MyISAM的鎖調度272
16.3InnoDB鎖問題273
16.3.1背景知識273
16.3.2獲取InnoDB行鎖爭用情況275
16.3.3InnoDB的行鎖模式及加鎖方法276
16.3.4InnoDB行鎖實現方式279
16.3.5Next-Key鎖283
16.3.6恢復和復制的需要,對InnoDB鎖機制的影響284
16.3.7InnoDB在不同隔離級別下的一致性讀及鎖的差異287
16.3.8什麼時候使用表鎖288
16.3.9關於死鎖289
16.4小結294
第17章 優化MySQL Server296
17.1MySQL體繫結構概覽296
17.2MySQL內存管理及優化298
17.2.1內存優化原則298
17.2.2MyISAM內存優化298
17.2.3InnoDB內存優化301
17.2.4調整用戶服務線程排序緩存區305
17.3InnoDB log機制及優化305
17.3.1InnoDB重做日志305
17.3.2innodb_flush_log_at_trx_commit的設置306
17.3.3設置log file size,控制檢查點307
17.3.4調整innodb_log_buffer_size308
17.4調整MySQL並發相關的參數308
17.4.1調整max_connections,提高並發連接308
17.4.2調整back_log309
17.4.3調整table_open_cache309
17.4.4調整thread_cache_size309
17.4.5innodb_lock_wait_timeout的設置309
17.5持久化全局變量309
17.6使用資源組310
17.7小結312
第18章 磁盤I/O問題313
18.1使用固態硬盤313
18.2使用磁盤陣列314
18.2.1常見RAID級別及其特性314
18.2.2如何選擇RAID級別315
18.3虛擬文件卷或軟RAID315
18.4使用Symbolic Links分布I/O315
18.5禁止操作繫統更新文件的atime屬性316
18.6調整I/O調度算法316
18.7RAID卡電池充放電問題318
18.7.1什麼是RAID卡電池充放電318
18.7.2RAID卡緩存策略319
18.7.3如何應對RAID卡電池充放電帶來的I/O性能波動321
18.8NUMA架構優化322
18.9小結325
第19章 應用優化326
19.1優化數據表的設計326
19.1.1優化表的數據類型326
19.1.2通過拆分提高表的訪問效率328
19.1.3逆規範化329
19.2數據庫應用優化330
19.2.1使用連接池330
19.2.2減少對MySQL的訪問330
19.2.3負載均衡331
19.3小結331
第20章 PS/SYS數據庫332
20.1Performance Schema庫332
20.1.1如何開啟PS庫332
20.1.2PS庫的表333
20.2SYS 庫335
20.2.1SYS庫的對像335
20.2.2SYS對像的實際應用336
20.3小結340
第21章 故障診斷341
21.1故障診斷和處理的原則341
21.2故障處理一般流程343
21.2.1故障發現343
21.2.2故障定位345
21.2.3故障解決346
21.3典型故障案例349
21.3.1案例1349
21.3.2案例2353
21.4小結356
第四部分管理維護篇
第22章 MySQL高級安裝和升級358
22.1Linux/UNIX平臺下的安裝358
22.1.1安裝包比較358
22.1.2安裝二進制包359
22.1.3安裝源碼包359
22.1.4參數設置方法360
22.2升級MySQL361
22.3小結363
第23章 MySQL中的常用工具364
23.1MySQL官方工具364
23.1.1mysql(客戶端連接工具)364
23.1.2mysqladmin(MySQL管理工具)371
23.1.3mysqlbinlog(日志管理工具)371
23.1.4mysqlcheck(表維護工具)378
23.1.5mysqldump(數據導出工具)380
23.1.6mysqlpump(並行的數據導出工具)384
23.1.7mysqlimport(數據導入工具)385
23.1.8mysqlshow(數據庫對像查看工具)385
23.1.9perror(錯誤代碼查看工具)387
23.1.10MySQL Shell387
23.2Percona工具包390
23.2.1pt-archiver(數據歸檔工具)391
23.2.2pt-config-diff(參數對比工具)393
23.2.3pt-duplicate-key-checker(檢查冗餘索引工具)394
23.2.4pt-find(查找工具)395
23.2.5pt-heartbeat(監控主從延遲工具)395
23.2.6pt-kill(殺死會話工具)397
23.2.7pt-online-schema-change(在線修改表結構工具)397
23.2.8pt-query-digest(SQL分析工具)399
23.2.9pt-table-checksum(數據檢驗工具)401
23.2.10pt-table-sync(數據同步工具)402
23.3小結403
第24章 MySQL日志404
24.1錯誤日志404
24.2二進制日志405
24.2.1日志的位置和格式405
24.2.2日志的讀取406
24.2.3日志的刪除407
24.2.4日志的事件411
24.2.5日志閃回412
24.3查詢日志415
24.3.1日志的位置和格式415
24.3.2日志的讀取416
24.4慢查詢日志416
24.4.1文件位置和格式416
24.4.2日志的讀取417
24.4.3Anemometer簡介419
24.5小結421
第25章 備份與恢復422
25.1備份/恢復策略422
25.2邏輯備份和恢復422
25.2.1備份423
25.2.2完全恢復425
25.2.3基於時間點恢復427
25.2.4基於位置恢復427
25.2.5並行恢復427
25.3物理備份和恢復428
25.3.1冷備份和熱備份428
25.3.2MyISAM存儲引擎的熱備份429
25.3.3InnoDB存儲引擎的熱備份429
25.4表的導入和導出438
25.4.1導出438
25.4.2導入442
25.5小結445
第26章 MySQL權限與安全446
26.1MySQL權限管理446
26.1.1權限繫統的工作原理446
26.1.2權限表的存取446
26.1.3賬號管理449
26.2MySQL安全問題461
26.2.1操作繫統相關的安全問題461
26.2.2數據庫相關的安全問題463
26.3其他安全設置選項471
26.3.1密碼插件471
26.3.2safe-user-create472
26.3.3表空間加密473
26.3.4skip-grant-tables474
26.3.5skip-networking474
26.3.6skip-show-database475
26.4小結475
第27章 MySQL監控476
27.1如何選擇一個監控方案476
27.1.1選擇何種監控方式476
27.1.2如何選擇適合自己的監控工具477
27.2常用的網絡監控工具477
27.2.1Open-Falcon簡介477
27.2.2Nagios簡介479
27.2.3Zabbix簡介480
27.2.4幾種常見開源軟件比較481
27.3Zabbix 部署481
27.3.1Zabbix Server軟件安裝482
27.3.2Zabbix Server配置與啟動482
27.3.3配置Zabbix Web服務端483
27.3.4Zabbix Agent安裝和配置485
27.3.5PMP插件介紹和部署486
27.3.6Zabbix Web端操作489
27.4性能醫生orzdba491
27.4.1orzdba安裝491
27.4.2orzdba使用492
27.5小結492
第28章 MySQL常見問題和應用技巧493
28.1忘記MySQL的root密碼493
28.2數據目錄磁盤空間不足的問題494
28.3mysql.sock丟失後如何連接數據庫495
28.4從mysqldump文件抽取需要恢復的表496
28.5使用innobackupex備份恢復單表497
28.6分析BINLOG,找出寫的熱點表498
28.7在線DDL499
28.8小結502
第29章 自動化運維繫統的開發503
29.1MySQL自動化運維背景503
29.2CMDB繫統搭建504
29.2.1CMDB數據庫504
29.2.2批量管理繫統505
29.2.3後臺API511
29.3任務調度繫統515
29.3.1Celery安裝515
29.3.2Celery任務部署516
29.3.3Flower監控518
29.4客戶端搭建519
29.4.1Vue.js簡介519
29.4.2Vue項目搭建520
29.5自動化運維平臺實戰525
29.5.1搭建CMDB525
29.5.2搭建任務調度平臺528
29.5.3搭建客戶端529
29.5.4項目演示532
29.6小結532
第五部分架構篇
第30章MySQL復制534
30.1復制概述534
30.1.1復制中的各類文件536
30.1.23種復制方式537
30.1.3復制的4種常見架構540
30.2復制搭建543
30.2.1異步復制543
30.2.2多線程復制547
30.2.3增強半同步復制553
30.3GTID(Global Transaction Identifier)558
30.3.1格式與存儲558
30.3.2gtid_purged561
30.3.3復制搭建565
30.3.4主從切換571
30.3.5常見問題572
30.4主要復制啟動選項576
30.4.1log-slave-updates576
30.4.2read-only/super_read_only576
30.4.3指定復制的數據庫或者表577
30.4.4slave-skip-errors579
30.5日常管理維護579
30.5.1查看從庫復制狀態和進度579
30.5.2主從復制問題集錦580
30.5.3多主復制時的自增長變量衝突問題582
30.5.4如何提高復制的性能584
30.6小結588
第31章高可用架構589
31.1MHA架構589
31.1.1安裝部署MHA591
31.1.2應用連接配置598
31.1.3自動failover605
31.1.4網絡問題觸發的failover操作614
31.1.5手動failover614
31.1.6在線進行切換615
31.1.7修復宕掉的Master617
31.2MGR架構617
31.2.1安裝部署MGR618
31.2.2監控625
31.2.3primary成員切換626
31.2.4重要特性628
31.2.5常見問題629
31.3InnoDB Cluster636
31.3.1安裝部署637
31.3.2初始化MySQL Router642
31.3.3集群Metadata643
31.3.4集群成員角色切換644
31.3.5集群刪除/增加節點646
31.3.6重新加入節點648
31.4小結649
第32章MySQL中間件650
32.1MySQL Router650
32.1.1MySQL Router的安裝651
32.1.2MySQL Router的初始化653
32.1.3MySQL Router策略驗證656
32.2Cetus架構658
32.2.1Cetus的安裝配置659
32.2.2Cetus的使用670
32.2.3Cetus日志文件674
32.2.4Cetus的後端管理675
32.2.5Cetus的路由策略678
32.2.6常見問題681
32.3小結682
| | | | | |