作 者:劉遵慶 等 著
定 價:109
出 版 社:電子工業出版社
出版日期:2022年07月01日
頁 數:336
裝 幀:平裝
ISBN:9787121436055
三位擁有多年DBA實戰經驗的作者的用心總結,從增刪查改、索引、鎖、事務、體繫結構、日志文件等基礎知識,到優化、主從復制、安全、備份、分庫分表、周邊工具、新特性、主流高可用方案、雲時代工作等高級實戰話題,全面、詳細地講解MySQL核心技術。大部分知識點帶有對應實驗,方便讀者理解。
●第1章 MySQL的基礎知識
1.1 數據庫的安裝全過程
1.1.1 平臺的選擇
1.1.2 安裝包的選擇
1.1.3 繫統環境的配置
1.1.4 數據庫的安裝
1.2 數據庫的簡單使用
1.2.1 連接
1.2.2 數據庫的創建和使用
1.2.3 增、刪、改、查
1.3 總結
第2章 MySQL的索引
2.1 索引算法
2.1.1 順序查找
2.1.2 二分查找
2.1.3 二叉查找樹
2.1.4 平衡二叉樹
2.1.5 B樹
2.1.6 B+樹
2.1.7 B+樹索引
2.2 MySQL中的索引類型
2.2.1 聚集索引
2.2.2 輔助索引
2.2.3 專享索引
2.2.4 聯合索引
2.3 MySQL中的索引優化
2.3.1 ICP
2.3.2 MRR
2.4 關於索引的建議
2.5 總結
第3章 MySQL的鎖
3.1 共享鎖和排他鎖
3.2 意向鎖
3.3 記錄鎖、間隙鎖、插入意向鎖和臨鍵鎖
3.4 MDL
3.5 死鎖
3.6 總結
第4章 MySQL的事務
4.1 事務的特性
4.2 事務的實現
4.2.1 原子性的實現
4.2.2 一致性的實現
4.2.3 隔離性的實現
4.3 MVCC實現
4.3.1 什麼是MVCC
4.3.2 實現的原理
4.4 普通讀和當前讀
4.4.1 普通讀
4.4.2 當前讀
4.4.3 小結
4.5 總結
第5章 MySQL的體繫結構
5.1 MySQL的結構
5.2 存儲引擎
5.3 InnoDB的體繫結構
5.3.1 內存結構
5.3.2 磁盤結構
5.4 總結
第6章 MySQL常用的日志文件
6.1 Binlog
6.1.1 Binlog基礎
6.1.2 開啟和關閉Binlog
6.1.3 Binlog的作用
6.1.4 Binlog記錄的格式
6.1.5 Binlog的解析
6.1.6MySQL8.0 Binlog加密
6.1.7 Binlog的清除
6.1.8 Binlog的落盤
6.1.9 Binlog相關的參數
6.2 GeneralLog
6.2.1 GeneralLog的開啟
6.2.2 GeneralLog的用法
6.3 SlowLog
6.3.1 SlowLog的開啟
6.3.2 SlowLog的特殊設置
6.3.3 SlowLog的內容解析
6.3.4MySQL8.0 慢查詢額外信息的輸出
6.4 ErrorLog
6.4.1 ErrorLog的配置
6.4.2 ErrorLog的切割
6.4.3 借助ErrorLog定位的問題
6.5 RedoLog
6.5.1 RedoLog初探
6.5.2 RedoLog的落盤
6.5.3 RedoLog的數量及大小修改
6.5.4 CheckPoint
6.5.5 LSN
6.5.6MySQL8.0 中的RedoLog歸檔
6.5.7MySQL8.0 中的RedoLog禁用
6.6 UndoLog
6.6.1 初識UndoLog
6.6.2 UndoLog的Purge
6.6.3 兩種UndoLog
6.6.4 UndoLog的記錄格式
6.6.5 回滾時刻
6.6.6 UndoLog的相關配置
6.7 總結
6.7.1 Binlog和RedoLog的區別
6.7.2 UndoLog和RedoLog的區別
第7章 MySQL的優化
7.1 硬件優化
7.1.1 硬件的選擇
7.1.2 RAID的選擇
7.2 操作繫統的優化
7.2.1 文件繫統的選擇
7.2.2 繫統參數的選擇
7.2.3 MySQL多實例資源隔離優化
7.3 參數調優
7.3.1 參數的加載順序
7.3.2 常用參數的調優
7.4 慢查詢分析
7.4.1 Explain
7.4.2 PerformanceSchema分析
7.4.3 Trace追蹤器
7.5 SQL語句優化
7.5.1 分頁查詢優化
7.5.2 notin優化
7.5.3 orderby優化
7.5.4 groupby優化
7.5.5 索引hint優化
7.6 總結
第8章 MySQL的規範
8.1 建表的規範
8.2 部署和操作的規範
8.3 SQL的規範
8.4 總結
第9章 MySQL的主從復制
9.1 主從復制的搭建
9.2 GTID復制
9.2.1 GTID主從復制的配置
9.2.2 GTID的相關知識
9.2.3 GTID的自動定位
9.2.4 使用GTID復制模式的
9.3 MySQL復制報錯的處理
9.3.1 主從復制crash-safe
9.3.2 跳過GTID模式下的復制中斷錯誤
9.4 MySQL半同步復制
9.4.1 MySQL半同步復制的注意事項
9.4.2 MySQL半同步復制中的無損復制
9.4.3 無損復制的配置和參數
9.4.4 無損復制的改進
9.5 MySQL並行復制
9.5.1 MySQL並行復制的原理和演進
9.5.2 MySQL並行復制的配置
9.6 總結
第10章 MySQL的安全
10.1 安全指南
10.2 訪問控制
10.3 預留賬戶
10.4 角色管理
10.5 密碼管理
10.5.1 密碼過期
10.5.2 密碼重用
10.5.3 密碼驗證
10.5.4 雙密碼支持
10.5.5 隨機密碼
10.5.6 密碼試錯
10.6 賬戶資源
10.7 加密連接
10.8 審計
10.9 總結
第11章 MySQL的備份
11.1 物理備份和邏輯備份
11.2 mysqldump
11.2.1 備份用戶的權限
11.2.2 備份舉例及參數解釋
11.2.3 數據恢復
……
本書既包括MySQL比較重要的基礎內容,如安裝、索引、鎖、事務、體繫結構、主從復制(包括GTID復制、半同步復制、並行復制等)等,也包括MySQL的優化(從硬件、操作繫統,參數、SQL語句等方面的優化)、規範、安全、備份、監控、高可用(MHA、Orchestrator和MGR)、分庫分表、周邊工具等實戰內容。另外,本書增加了一些比較新的內容,如MySQL8.0的新特性、雲時代DBA工作的變化等。本書可作為MySQL初學者、DBA、開發工程師、運維工程師、架構師等的參考資料。
劉遵慶 等 著
"劉遵慶:網名“馬聽”,擁有多年DBA工作經驗,寫作了大量MySQL專題文章,是公眾號“MySQL數據庫聯盟”運營人。馬聽老師的專欄《一線數據庫工程師帶你深入理解 MySQL》所有渠道銷量3600餘份,獲得業內一致好評,幫助大量求職者掌握技能,通過面試。凡新雷:擁有多年一線互聯網公司MySQL數據庫運維管理經驗,擅長MySQL數據庫調優和架構設計。鄒勇:擁有多年一線數據庫運維經驗,曾參與多家公司的數據庫高可用體繫建設,擅長MySQL、Redis等數據庫運維工作。"