《MySQL運維進階指南》運維視角剖析MySQL性能優(yōu)化、高可用架構(gòu)、監(jiān)控管理難題及解決方案,51CTO和DBAPlus官方推薦
定 價:109 元
叢書名:數(shù)據(jù)庫技術(shù)叢書
- 作者:賀春旸 著
- 出版時間:2022/10/1
- ISBN:9787111712077
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.138-62
- 頁碼:342
- 紙張:
- 版次:
- 開本:16
本書以構(gòu)建高性能MySQL服務(wù)器為核心,先介紹MySQL 8.0和MariaDB 10.5的新特性,然后以實戰(zhàn)為導(dǎo)向,從故障診斷與優(yōu)化、性能調(diào)優(yōu)、備份與恢復(fù)、MySQL高可用集群搭建與管理、MySQL性能與服務(wù)監(jiān)控、SQL自助上線等角度深入講解了如何管理與維護MySQL服務(wù)器。書中內(nèi)容均是基于筆者多年的實踐經(jīng)驗整理而成,對于有代表性的疑難問題,還給出了實用的情景模擬以及解決方案。
51CTO官方推薦
MySQL以其輕便、快捷、運營成本低等優(yōu)點成為一款*受企業(yè)歡迎的數(shù)據(jù)庫產(chǎn)品。賀春旸老師在MySQL領(lǐng)域深耕數(shù)十年,有著豐富的一線工作經(jīng)驗。日常在51CTO博客更文也是深受讀者的喜歡,更是成為MySQL領(lǐng)域不可多得的博客專家。本書是賀春旸老師的又一佳作,他將多年實操經(jīng)驗融入字里行間,讓讀者能更快速理解并掌握知識點,在面對自己工作中實際問題時,如虎添翼、從容應(yīng)對!
——51CTO博客(https://blog.51cto.com/)
前言
第一部分 MariaDB與MySQL的新特性
第1章 MariaDB 10.5的新特性2
1.1 MariaDB概述2
1.2 MariaDB 10.5與MySQL 8.0的
比較3
1.2.1 存儲引擎3
1.2.2 擴展和新功能4
1.3 如何將MySQL遷移至
MariaDB中5
1.4 MariaDB 10.5新特性詳解7
1.4.1 客戶端連接層的改進7
1.4.2 服務(wù)層的改進24
1.4.3 InnoDB存儲引擎層的改進61
第2章 MySQL 8.0的新特性70
2.1 MySQL 8.0概述70
2.2 MySQL 8.0新特性詳解70
2.2.1 性能提升73
2.2.2 客戶端連接層的改進74
2.2.3 服務(wù)層的改進81
2.2.4 優(yōu)化器的改進86
2.2.5 同步復(fù)制的改進104
2.2.6 InnoDB存儲引擎層的改進110
2.2.7 通過pt-upgrade工具檢測SQL
語法的兼容性122
第二部分 故障診斷與性能優(yōu)化
第3章 故障診斷126
3.1 影響MySQL性能的因素126
3.2 系統(tǒng)性能評估標(biāo)準(zhǔn)127
3.2.1 影響Linux服務(wù)器性能的
因素128
3.2.2 系統(tǒng)性能評估指標(biāo)129
3.2.3 開源監(jiān)控和評估工具131
3.3 故障與處理136
3.3.1 基于pt-online-schema-change
修改表結(jié)構(gòu)是否安全136
3.3.2 修改外鍵時,pt-osc內(nèi)部是
如何處理的138
3.3.3 刪除大表的小技巧139
3.3.4 重構(gòu)Percona pt-archiver:輕松
歸檔大表數(shù)據(jù)140
3.3.5 Percona pt-kill改造版(PHP):
慢SQL報警及扼殺利器143
3.3.6 自適應(yīng)Hash索引引起的
MySQL崩潰與重啟146
3.3.7 診斷事務(wù)量突增的原因148
3.3.8 謹(jǐn)慎設(shè)置binlog_format=
MIXED150
3.3.9 MySQL故障切換之事件
調(diào)度器的注意事項155
3.3.10 誤操作的恢復(fù)158
3.3.11 快速恢復(fù)二進制日志161
第4章 處理同步復(fù)制報錯故障162
4.1 常見的3種故障162
4.1.1 在主庫上刪除一條記錄導(dǎo)致
的故障163
4.1.2 主鍵重復(fù)164
4.1.3 在主庫上更新了一條記錄,
在從庫上卻找不到165
4.2 特殊情況:從庫的中繼日志受損166
4.3 多臺從庫中存在重復(fù)的server-id168
4.4 避免在主庫上執(zhí)行大事務(wù)169
4.5 slave_exec_mode參數(shù)可自動
處理同步復(fù)制錯誤169
4.6 如何驗證主從數(shù)據(jù)是否一致171
4.7 binlog_ignore_db引起的同步
復(fù)制故障174
4.8 在從庫上恢復(fù)指定表的簡要
方法176
4.9 如何徹底清除從庫的同步信息177
第5章 性能調(diào)優(yōu)179
5.1 表的設(shè)計規(guī)范179
5.1.1 表的設(shè)計目標(biāo)179
5.1.2 數(shù)據(jù)庫三范式的定義180
5.2 字段類型的選取185
5.2.1 數(shù)值類型185
5.2.2 字符類型191
5.2.3 時間類型194
5.3 采用合適的鎖機制201
5.3.1 表鎖201
5.3.2 行鎖203
5.3.3 行鎖轉(zhuǎn)表鎖204
5.3.4 死鎖205
5.4 選擇合適的事務(wù)隔離級別207
5.4.1 事務(wù)的概念207
5.4.2 事務(wù)的實現(xiàn)208
5.4.3 事務(wù)的隔離級別210
5.5 SQL優(yōu)化與合理利用索引218
5.5.1 慢查詢的定位方法218
5.5.2 SQL優(yōu)化案例分析219
5.5.3 合理使用索引230
5.6 my.cnf配置文件調(diào)優(yōu)239
5.6.1 per_thread_buffers參數(shù)調(diào)優(yōu)239
5.6.2 global_buffers參數(shù)調(diào)優(yōu)241
5.6.3 查詢緩存在不同環(huán)境下的
使用242
5.7 MySQL設(shè)計、開發(fā)和操作規(guī)范243
5.8 SQL自助上線平臺254
5.8.1 簡介254
5.8.2 審核規(guī)則256
第6章 備份與恢復(fù)258
6.1 冷備份259
6.2 邏輯備份259
6.2.1 mysqldump中增加了重要參數(shù)
--dump-slave260
6.2.2 取代mysqldump的新工具
mydumper261
6.3 熱備份與恢復(fù)265
6.3.1 XtraBackup的工作原理265
6.3.2 使用Percona XtraBackup 8.0
備份MySQL 8.0269
6.3.3 MariaDB熱備份工具
mariabackup270
第三部分 高可用架構(gòu)
第7章 高可用架構(gòu)集群管理272
7.1 MaxScale高可用架構(gòu)273
7.1.1 功能概述273
7.1.2 搭建MaxScale高可用架構(gòu)274
7.1.3 模擬故障轉(zhuǎn)移279
7.2 MySQL組復(fù)制高可用架構(gòu)282
7.2.1 組復(fù)制的工作原理283
7.2.2 組復(fù)制的特性和注意事項288
7.2.3 組復(fù)制的使用方法289
第8章 MySQL架構(gòu)演進:一主
多從、讀寫分離294
8.1 實現(xiàn)讀寫分離的兩種方式295
8.2 主從復(fù)制延遲的計算方法297
8.3 HAProxy感知MySQL主從同步
延遲300
8.4 搭建讀寫分離MariaDB MaxScale
架構(gòu)307
8.4.1 配置環(huán)境及安裝介紹307
8.4.2 基于連接方式的測試311
8.4.3 基于語句方式(SQL解析)
的測試311
8.4.4 MaxScale延遲檢測312
第9章 TSpider分庫分表的搭建與
管理316
9.1 TSpider簡介317
9.1.1 TSpider的使用場景317
9.1.2 TSpider的取模擴容問題324
9.1.3 TSpider負(fù)載均衡架構(gòu)設(shè)計325
9.2 Tdbctl詳解325
9.2.1 安裝Tdbctl組件326
9.2.2 Tdbctl的重要參數(shù)說明327
9.2.3 Tdbctl的配置管理327
9.2.4 Tdbctl組件的驗證327
第四部分 監(jiān)控管理平臺
第10章 MySQL監(jiān)控管理平臺330
10.1 圖形可視化監(jiān)控工具MySQL
Monitor331
10.1.1 環(huán)境搭建334
10.1.2 搭建MySQL Monitor工具334
10.2 圖形化顯示慢日志的工具MySQL
Slowquery336
10.2.1 環(huán)境搭建337
10.2.2 MySQL Slowquery工具的
配置337