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