1. 程式人生 > MYSQL進階教學 ><p>課程導讀</p>

<p>課程導讀</p>

本系列是 MySQL 系列教程之一,源自一線資深 DBA 多年的實戰經驗總結和 MySQL 資料庫的使用心得,基於 MySQL 官方版本,本系列共分為 《MySQL 入門教程》、以及《MySQL 進階教程》兩門教程,本教程是《MySQL 進階教程》。下面我們來看下這兩門教程的不同之處:

  • MySQL 入門教程主要面向 MySQL 的初學者,介紹了 MySQL 的發展史、MySQL 的安裝與配置、MySQL 的基礎維護、MySQL 支援的資料型別、SQL 基礎、常用函式等內容。如果你對 MySQL 基礎掌握的不是很牢固的話建議你先去學習基礎課程之後再來學習這門進階教程。

  • 而這門進階教程主要面向 MySQL 的 DBA 和開發人員,內容包括 MySQL 架構組成、MySQL 儲存引擎、索引、鎖、MySQL 事務、備份與恢復、MySQL 複製、高可用架構、監控、優化等內容。

本教程內容實用豐富,通俗易懂,講解由淺入深,還結合大量來自一線的工作案例,擁有較高的實戰性和可操作性。本教程適合 MySQL 初學者、資料庫管理人員、資料庫開發人員及其他資料庫從業人員閱讀,同時也適合作為相關資料庫培訓機構的教材。

1. 課程設計

本課程採用理論加實踐的方式編寫,以 MySQL 架構組成、儲存引擎、索引、事務等資料庫高頻知識點為主線,從這些知識點的概念、機制、原理,再加上來自一線 DBA 的實踐經驗,讓讀者可以從點到線,到面,形成 MySQL 的知識網路。

2. 課程目錄

本課程共 10 章 30 小節,具體章節安排如下:

  • MySQL 的架構組成:本章節從 MySQL 的邏輯架構講起,到 MySQL 的物理組成。通過本章節的學習你會對 MySQL 的底層邏輯架構有一個比較清楚的認知,也會了解到 MySQL 的底層是如何具體的執行一條 SQL 語句的;
  • MySQL 的儲存引擎:MySQL 中包含了很多中儲存引擎,每一種儲存引擎所支援的機制也不盡相同。這一章節會對 MySQL 的各種儲存引擎以及它們之間的差別做出詳細講解,並通過實際案例的講解讓你知道該如何去選擇儲存引擎;
  • MySQL 的索引:索引的目的是提高 MySQL 的查詢效率,設計優秀的索引可以大大提高 MySQL 的執行效率,在這一章節我們會對常見的索引模型,以及回表、覆蓋索引、最左字首原則等等索引細節進行講解,並通過實際案例來教你根據實際業務合理的設計索引;
  • MySQL 的事務:事務的重要性我想已經不言而喻了,你說你會 MySQL ,但別人問你事務你卻支支吾吾的,別人也不會相信啊。彆著急,本章節我們會對 MySQL 的事務進行詳細講解,讓你知道 MySQL 為什麼需要事務,以及事務是如何開啟的?事務的隔離方式是什麼?讓你在和別人聊起事務的時候言之有物;
  • MySQL 的鎖:當多個事務或者程序同時訪問一個相同的資源時,為了保證資料的一致性,就需要用到 MySQL 的鎖機制。MySQL 把鎖分為了三個層級,分別是:全域性鎖,表鎖,行鎖。這一章節我們會對這三種鎖進行剖析,你會知道這三種鎖的機制和它們之間的差別以及在不同的儲存引擎下使用鎖的不同;
  • MySQL 的備份與恢復:在當下這個資料為王的時代,資料備份和恢復應該是每一個公司業務的重中之重,資料備份和恢復是每一位工程師都應該瞭解或掌握的技術。本章節我們會詳細講解 MySQL 的備份和恢復機制,並通過實際案例教你如何合理的設計備份與恢復的策略;
  • MySQL 的主從複製:MySQL 的主從複製指的是資料可以從一個 MySQL 資料庫伺服器主節點複製到一個或多個從節點,之所以這麼設計是因為:在實際開發中如果因為某一操作造成資料被鎖,無法進行資料讀取那麼就會造成業務服務中斷,這是很嚴重的事故。使用主從複製,讓主庫負責寫,從庫負責讀,涇渭分明的操作就能保證及時主庫被鎖表,也不會出現資料無法讀取的情況。本章節我們就會學習 MySQL 的主從複製技術;
  • MySQL 的監控:這一章節我們會講解 MySQL 的基礎監控機制,效能監控機制。並介紹兩個開源的監控工具:Zabbix 和 PMM;
  • MySQL 的高可用:高可用是每一個應用都應該追求的目標,自然 MySQL 也不例外。本章節我們會介紹 MySQL 常見的高可用架構,並通過實際案例來演練如何進行高可用架構的選型;
  • MySQL 的優化:MySQL 的優化是一個老生常談的話題了,而且面試的時候也一定會問。MySQL 的優化大致分為兩個部分:MySQL Server 的優化和 SQL 語句的優化。這一章節我們會揭開“優化”的神祕面紗,讓它不再這麼高大上;
  • MySQL 異常診斷:作為一個合格的 DBA 工程師,我們要像醫生對人體的瞭解一樣去了解 MySQL,更應該及時的發現 MySQL 的“病痛”,準確的定位“病灶”的位置,合理的使用“藥物”來讓 MySQL 痊癒。這一章我們會通過實際案例對 MySQL 的異常發現、定位、解決這一流程進行復刻,讓你成為合格的 “MySQL 外科醫生”。

3. 學習建議

每天抽 1-2 個小時學習,每週學習五小節課程,大概六週可以完成本課程的學習。

每節課程都有相關的實操練習,建議親自搭建實驗環境並完成練習,加深對知識點的理解。

4. 課程獲益

通過這門課程的學習你將收穫:

  • 掌握 MySQL 的底層執行機制;
  • 掌握 MySQL 的一般優化思路;
  • 認識 MySQL 的架構、儲存引擎、事務、索引等知識點,並掌握其原理;
  • 掌握貼近企業生產使用的 MySQL 技能,提升工作和麵試的競爭力。