【課程目標】
培養企業級專職的具備實戰能力的MySQL中數據庫管理員。
【課程特色】
a.業內具經驗的專業DBA專家講授,5大門戶DBA專家中的專家,10年以上從業經驗。
b.絕非運維人員講DBA,而是專業DBA專家講授DBA。
c.課程實戰性非常強,能即學即用。
d.講授的都是當下流行和先進實戰經驗。
【師資介紹】
劉老師
數據庫工程師
Oracle數據庫認證大師
OCP/OCM專業講師
某國企數據庫系統顧問
教研團副主任
【課程體系】
1.MySQL基礎(1天)
a.MySQL歷史及結構
b.MySQL邏輯結構
i.MySQL連接管理與用戶管理
ii.Thread pool介紹
iii.SQL優化及執行
iv.MySQL并發控制
1.鎖
v.事務
1.詳細事務過程
vi.存儲引擎介紹
1.Innodb
2.MyISAM
3.Memory
4.其它引擎
vii.MySQL用戶管理
viii.案例分析-:MySQL的初始化過程及啟動過程分析
1.MySQL如何做初始化
2.MySQL如何啟動及配置加載
3.MySQL如何關閉
4.大規模服務器下安裝部署介紹
3.Innodb介紹(0.5天)
a.Innodb的發展介紹
b.Cluster index介紹
c.Innodb的內部體系結構介紹
d.Innodb文件系統結構
e.Innodb存儲結構特點
f.Innodb的內存分配
g.Innodb的內部并發
h.doublewrite介紹
i.總結
4.MySQL參數優化(0.5天)
a.MySQL配置說明
b.配置更改的方式
c.更改配置可能帶來的副作用
d.如何利用基準測試進行配置調優
e.配置內存使用
i.MySQL的內存配置
ii.MyISAM的內存配置
iii.Memory的內存配置
iv.Innodb的內存配置
v.Innodb的其它優化配置
1.Innodb I/O配置
2.Innodb的并發控制
vi.MySQL并發控制
f.一個完整的系統配置
g.Innodb配置
h.總結
5.服務器性能分析(1天)
a.什么限制了MySQL的性能
b.MySQL如何選擇硬件
i.Cpu架構特性
ii.磁盤隨機IO/順序IO緩存讀和寫能力說明
iii.固態存儲及PCIE設備說明
1.flashcache使用
c.從庫的硬件選擇
d.Raid性能優化
e.操作系統的優化
i.操作系統選擇
ii.文件系統選擇
iii.操作系統調優
f.操作系統性能監控
g.網絡監測
h.服務器性能分析總結
i.數據庫宕機故障分析
i.從數據庫日志上分析
ii.從操作系統日志上分析
iii.從監控系統里分析
j.案例分析一:定位系統的瓶頸
k.總結
6.MySQL基準測試(0.5天)
a.為什么要做基準測試
b.基準測試的策略
c.基準測試的方法
i.如何設計基準測試
ii.基準測試測試的時間
iii.獲取準確的系統性能狀態
iv.獲得準確的測試結果
v.基準測試結果分析
vi.結果繪圖
d.基準測試的工具
i.Http_load
ii.mysql本身的測試工具
iii.Sysbench
iv.percona的tpcc-mysql
v.其它dbt2, tpc-c
e.實驗:幾種壓力測試
7.基于MySQL做良好的開發設計(2天)
a.Schema及數據類型
i.選擇合適的數據類型
1.整型
2.字符
3.日期
4.位數據類型
5.特殊類型
ii.schema設計中的的陷阱
1.范式及反范式
a.范式及反范式優缺點
b.混用范式及反范式
2.緩存表和匯總表
a.計數器表
b.物化視圖表
3.加速alter table操作
a.只修改.frm文件
b.Alter table的其它操作辦法
b.索引及優化
i.索引基礎
1.索引類型
ii.索引優缺點
1.獨立索引
2.多列組合索引
3.選擇合適的列做索引
4.聚簇索引
5.覆蓋索引
6.壓縮索引
7.未使用索引及重復索引
8.索引和鎖
iii.索引案例學習
1.支持種過濾條件
2.優化排序
iv.索引維護
v.索引總結
c.Query優化
i.為什么查詢會慢
ii.慢查詢基礎:優化數據訪問
1.是否向數據庫請求了不需要的數據
2.MySQL是否掃描額外的記錄
3.慢查詢工具和圖形分析工具介紹(mysqlsla,anemometer等)
iii.重構Query
1.一個復雜查詢還是多個簡單查詢
2.切分查詢
3.分解關聯查詢
iv.SQL優化佳實踐案例分析
8.MySQL的特性(1天)
a.分區表
i.分區表的原理
ii.分區表的類型
iii.如何使用分區表
b.視圖
c.外建
d.存儲過程
e.字符集和校對
f.全文索引
g.中文的全文搜索
h.緩存方案
9.MySQL備份恢復(2天)
a.為什么備份
b.備份恢復的策略執行
c.設計MySQL的備份方案
d.MySQL支持備份方案
e.備份的一致性
f.管理和備份二進制日志
g.二進制日志的工
h.安全維護二進制日志
i.備份
i.生成邏輯備份及還原
ii.模擬備份和恢復整個過程
iii.利用文件系統快照備份及還原
iv.基于時間點的恢復
v.Innodb的在線熱備
vi.Perconaxtrabackup 使用介紹
vii.Mysqlenterprise backup使用介紹
viii.Mydumper/mysqldupm價結
ix.備份自動化實現
j.MySQL審計技術和工具介紹
10.MySQL主從同步及可擴展架構設計(1天)
a.復制
i.復制基本介紹
ii.復制可以解決的問題
iii.復制如何工作
iv.復制的配置
1.創建復制帳號
2.從庫建立方式
a.停主庫建立
b.不停主庫建立
3.復制的原理
a.基于語句復制
b.基于行復制
c.基于行和語句復制的優缺點
d.基于Image方式復制
e.基于GTID方式復制
f.復制支持的過濾機制
v.基于復制的架構
1.一主多從
2.主主復制
3.環形復制或金字塔復制
4.定制復制方案
vi.復制和容量規劃
1.復制對于寫的限制
2.從庫什么時間開始延遲
vii.復制的管理
1.監控復制
2.檢查主從是否一致
3.主動故障切換
4.復制中其它可能存在問題及處理
5.大規模集群下復制管理介紹(orchestrator等)
viii.多機房MySQL部署方案講解
11.MySQL高可用及可擴展架構設計(1天)
a.什么是高可用
b.導致宕機的原因
c.如何實現高可用
d.高可用的幾種形式
1.基于同步的高可用
2.基于mmm構建的高可用
3.基于Percona-Cluster的高可用
4.基于LVS +Keepalived+MHA方案介紹
5.MySQL Cluster方案介紹
6.目前主流高可用方案優缺點分析
e.中間件解決方案
f.在應用中處理故障轉移的方法
g.主流高可用方案部署演示
12.MySQL工具介紹(1天)
a.命令行工具集
b.SQL實現工具集
iii.問題分析工具集
iv.工具集的屠龍刀:percona-tools
v.流程工具演示:oradb,mytop, mysqlsla等
13. MySQL監控 (1天)
i.zabbix對MySQL監控的使用
ii.nagios對MySQL的監控及擴展
iii.自主完成Linux及MySQL性能指標的一些采集
iv.主流監控系統graphite介紹
14.相關MySQL問題知識點加量(1天)
a.目前業界MySQL的現狀及各版本的特性
b.explain 詳解
c.MySQL DBA實際工作中可能遇到的問題及解決
15.主流NoSQL持久緩存服務redis(1天)加量
1.redis簡介
2.redis數據類型
3.redis應用場景
4.redis高可用方案
5.redis運維技巧(監控報警,配置文件,大規模安全部署等)
6.監控工具(redis-audit等)介紹
7.大規模redis管理技術介紹
16、高速緩存服務memcached(1天)
1.mc簡介
2.MC原理簡單介紹
3.mc監控報警
4.大規模MC運維技巧
5.MC使用注意的問題
6.監控工具(memcached-top等)
7.大規模緩存服務管理技術
17、文檔型NoSQL服務mongodb(1天)
1.monogdb簡介
2.mongodb相關原理
3.mongodb配置安裝(replicaset)
4.使用注意的問題。
5.大規模MongoDB管理技術