課程簡介
MySQL數據庫的體系結構、性能調優(yōu)、高性能高可靠架構方案設計、常見故障處理。
目標收益
培訓對象
課程大綱
初識MySQL |
1、初識MySQL及管理 ? 要從事 MySQL DBA 工作就要系統的了解一下 MySQL 的歷史,現 狀及分支版本 ? 通過和 Oracle, SQL Server 特性對比深入理解 MySQL 的適用 場景 ? 了解 MySQL DBA 的工作職責及技能需求 ? 全面認識實際中 MySQL DBA 的工作環(huán)境,為自已準備一個接 近于真實的環(huán)境 ? 要從事MySQL DBA工作就要系統的了解一下MySQL的歷史,現狀及分支版本 ? 通過和Oracle, SQL Server特性對比深入理解MySQL的適用場景 ? 了解MySQL DBA的工作職責及技能需求 ? 全面認識實際中MySQL DBA的工作環(huán)境,為自已準備一個接近于真實的環(huán)境 2、MySQL安裝配置及體系結構 ? 系統的學習MySQL安裝(RPM, 二進制包,源碼編譯等),了解MySQL安裝目錄結構及作用,通過全面的了解MySQL啟動(/etc/init.d/mysql, mysqld, mysqld_safe等)和關閉方式,什么數據庫啟動不了關閉不了這類問題永遠不是問題 ? MySQL配置講解及多實例管理規(guī)范(包含多版本共存)生產中往往通過安裝多實例的形式來提高機器硬件的利用率。在了解MySQL對硬件的使用限制的同時,學會多事例的安裝及操作 ? 深入了解MySQL三層體系結構,掌握MySQL的工作機制 |
MySQL安裝部署規(guī)范 |
MySQL生產環(huán)境布署規(guī)范及建議 ? 系統安裝規(guī)范 ? MySQL安裝規(guī)范 ? 其它規(guī)范要點 |
MySQL數據類型 |
常見數據類型及使用建議 ? INT ? CHAR/VARCHAR ? DATETIME/TIMESTAMP ? 數據類型選擇注意事項 ? 數據類型選擇注意事項 |
MySQL體系結構 |
1、MySQL三層體系結構 ? 了解MySQL三層體系結構; ? 了解MySQL內存組成結構; ? 了解MySQL各層邏輯模塊關系; 2、MySQL常用引擎特點對比及選型建議 ? 了解MySQL內置集成了哪些存儲引擎,及各種存儲引擎的區(qū)別; ? 了解幾種關鍵引擎的區(qū)別及適用場景; 第三方引擎應用場景分析 ? 了解Infobright引擎; ? 了解InfiniDB引擎; ? 了解TokuDB引擎; |
MySQL索引 |
1、索引基礎知識 ? 索引基礎理論(二分查找、二叉樹、B樹、B+樹、哈希索引) ? MySQL索引基本概念(聚集索引、主鍵索引、唯一索引、覆蓋索引、聯合索引等) 2、深入理解MySQL索引 ? MyISAM表索引特點 ? InnoDB表索引特點 ? 索引優(yōu)化案例 ? 索引設計規(guī)范 |
MySQL事務 |
MySQL事務并發(fā) ? 理解ACID; ? 理解并發(fā)事務可能存在的問題; ? 理解事務隔離級別; ? MySQL如何解決幻讀的; ? MySQL的事務獨特性; |
MySQL鎖 |
1、MySQL鎖總覽 ? MySQL鎖簡介 ? 幾個全局鎖 2、InnoDB行鎖 ? InnoDB行鎖實現 ? 通過經典案例理解InnoDB行鎖 ? InnoDB死鎖 ? InnoDB鎖監(jiān)控 |
MySQL存儲引擎 |
1、全面了解InnoDB的結構 ? InnoDB介紹及發(fā)展歷史 ? 全面了解InnoDB的處理過程及相應的概念,深入研究 2、InnoDB在DML中的開銷及處理機制 ? 全面識別InnoDB的結構及存儲結構,深理解InnoDB的索引聚集表的處理特點,提高表結構設計優(yōu)化認識 InnoDB關建配參數據講解 ? 詳細講解MySQL InnoDB的參數及意義 ? 全面了解InnoDB的不同隔級別下處理特點及對性能的影響 3、深入了解InnoDB ? InnoDB后臺進程講解,表空間文件介紹,日志切換過程講解 ? 進行InnoDB監(jiān)控 |
全面優(yōu)化MySQL |
1、性能瓶頸分析 ? 性能瓶頸定位分析 ? 故障分析方法,檢查哪些指標,有什么工具可用 2、從硬件上優(yōu)化MySQL ? 從BIOS配置中調整CPU、內存相關設置,優(yōu)化硬件性能 ? 調整陣列卡配置,優(yōu)化IO性能 ? 其他硬件相關配置進行優(yōu)化 3、從系統上優(yōu)化MySQL ? 根據MySQL特性,調整內核相關參數進行優(yōu)化 ? 選擇適當的文件系統,以達到更高IOPS 4、從MySQL配置上優(yōu)化 ? 關鍵參數調優(yōu) ? MySQL工作機制調整優(yōu)化 5、schema設計優(yōu)化 ? 根據業(yè)務特點優(yōu)化SCHEMA設計 ? 選擇適當的表類型,字段類型 6、SQL執(zhí)行計劃詳解 ? 解讀EXPLAIN,找準優(yōu)化入口 ? 閱讀SQL執(zhí)行計劃中的注意事項 ? 如何改變執(zhí)行計劃提高SQL效率 ? 如何判斷SQL優(yōu)化前后的效率對比 ? 如何利用SQL執(zhí)行計劃的來進行SQL調優(yōu)及附帶案例 7、通過架構設計來優(yōu)化 |
初識MySQL 1、初識MySQL及管理 ? 要從事 MySQL DBA 工作就要系統的了解一下 MySQL 的歷史,現 狀及分支版本 ? 通過和 Oracle, SQL Server 特性對比深入理解 MySQL 的適用 場景 ? 了解 MySQL DBA 的工作職責及技能需求 ? 全面認識實際中 MySQL DBA 的工作環(huán)境,為自已準備一個接 近于真實的環(huán)境 ? 要從事MySQL DBA工作就要系統的了解一下MySQL的歷史,現狀及分支版本 ? 通過和Oracle, SQL Server特性對比深入理解MySQL的適用場景 ? 了解MySQL DBA的工作職責及技能需求 ? 全面認識實際中MySQL DBA的工作環(huán)境,為自已準備一個接近于真實的環(huán)境 2、MySQL安裝配置及體系結構 ? 系統的學習MySQL安裝(RPM, 二進制包,源碼編譯等),了解MySQL安裝目錄結構及作用,通過全面的了解MySQL啟動(/etc/init.d/mysql, mysqld, mysqld_safe等)和關閉方式,什么數據庫啟動不了關閉不了這類問題永遠不是問題 ? MySQL配置講解及多實例管理規(guī)范(包含多版本共存)生產中往往通過安裝多實例的形式來提高機器硬件的利用率。在了解MySQL對硬件的使用限制的同時,學會多事例的安裝及操作 ? 深入了解MySQL三層體系結構,掌握MySQL的工作機制 |
MySQL安裝部署規(guī)范 MySQL生產環(huán)境布署規(guī)范及建議 ? 系統安裝規(guī)范 ? MySQL安裝規(guī)范 ? 其它規(guī)范要點 |
MySQL數據類型 常見數據類型及使用建議 ? INT ? CHAR/VARCHAR ? DATETIME/TIMESTAMP ? 數據類型選擇注意事項 ? 數據類型選擇注意事項 |
MySQL體系結構 1、MySQL三層體系結構 ? 了解MySQL三層體系結構; ? 了解MySQL內存組成結構; ? 了解MySQL各層邏輯模塊關系; 2、MySQL常用引擎特點對比及選型建議 ? 了解MySQL內置集成了哪些存儲引擎,及各種存儲引擎的區(qū)別; ? 了解幾種關鍵引擎的區(qū)別及適用場景; 第三方引擎應用場景分析 ? 了解Infobright引擎; ? 了解InfiniDB引擎; ? 了解TokuDB引擎; |
MySQL索引 1、索引基礎知識 ? 索引基礎理論(二分查找、二叉樹、B樹、B+樹、哈希索引) ? MySQL索引基本概念(聚集索引、主鍵索引、唯一索引、覆蓋索引、聯合索引等) 2、深入理解MySQL索引 ? MyISAM表索引特點 ? InnoDB表索引特點 ? 索引優(yōu)化案例 ? 索引設計規(guī)范 |
MySQL事務 MySQL事務并發(fā) ? 理解ACID; ? 理解并發(fā)事務可能存在的問題; ? 理解事務隔離級別; ? MySQL如何解決幻讀的; ? MySQL的事務獨特性; |
MySQL鎖 1、MySQL鎖總覽 ? MySQL鎖簡介 ? 幾個全局鎖 2、InnoDB行鎖 ? InnoDB行鎖實現 ? 通過經典案例理解InnoDB行鎖 ? InnoDB死鎖 ? InnoDB鎖監(jiān)控 |
MySQL存儲引擎 1、全面了解InnoDB的結構 ? InnoDB介紹及發(fā)展歷史 ? 全面了解InnoDB的處理過程及相應的概念,深入研究 2、InnoDB在DML中的開銷及處理機制 ? 全面識別InnoDB的結構及存儲結構,深理解InnoDB的索引聚集表的處理特點,提高表結構設計優(yōu)化認識 InnoDB關建配參數據講解 ? 詳細講解MySQL InnoDB的參數及意義 ? 全面了解InnoDB的不同隔級別下處理特點及對性能的影響 3、深入了解InnoDB ? InnoDB后臺進程講解,表空間文件介紹,日志切換過程講解 ? 進行InnoDB監(jiān)控 |
全面優(yōu)化MySQL 1、性能瓶頸分析 ? 性能瓶頸定位分析 ? 故障分析方法,檢查哪些指標,有什么工具可用 2、從硬件上優(yōu)化MySQL ? 從BIOS配置中調整CPU、內存相關設置,優(yōu)化硬件性能 ? 調整陣列卡配置,優(yōu)化IO性能 ? 其他硬件相關配置進行優(yōu)化 3、從系統上優(yōu)化MySQL ? 根據MySQL特性,調整內核相關參數進行優(yōu)化 ? 選擇適當的文件系統,以達到更高IOPS 4、從MySQL配置上優(yōu)化 ? 關鍵參數調優(yōu) ? MySQL工作機制調整優(yōu)化 5、schema設計優(yōu)化 ? 根據業(yè)務特點優(yōu)化SCHEMA設計 ? 選擇適當的表類型,字段類型 6、SQL執(zhí)行計劃詳解 ? 解讀EXPLAIN,找準優(yōu)化入口 ? 閱讀SQL執(zhí)行計劃中的注意事項 ? 如何改變執(zhí)行計劃提高SQL效率 ? 如何判斷SQL優(yōu)化前后的效率對比 ? 如何利用SQL執(zhí)行計劃的來進行SQL調優(yōu)及附帶案例 7、通過架構設計來優(yōu)化 |