MySQL架構總共四層,在上圖中以虛線做爲劃分。 首先,最上層的服務並非MySQL獨有的,大多數給予網絡的客戶端/服務器的工具或者服務都有相似的架構。好比:鏈接處理、受權認證、安全等。 第二層的架構包括大多數的MySQL的核心服務。包括:查詢解析、分析、優化、緩存以及全部的內置函數(例如:日期、時間、數學和加密函數)。同時,全部的跨存儲引擎的功能都在這一層實現:存儲過程、觸發器、視圖等。 第三層包含了存儲引擎。存儲引擎負責MySQL中數據的存儲和提取。服務器經過API和存儲引擎進行通訊。這些接口屏蔽了不一樣存儲引擎之間的差別,使得這些差別對上層的查詢過程透明化。存儲引擎API包含十幾個底層函數,用於執行「開始一個事務」等操做。但存儲引擎通常不會去解析SQL(InnoDB會解析外鍵定義,由於其自己沒有實現該功能),不一樣存儲引擎之間也不會相互通訊,而只是簡單的響應上層的服務器請求。 第四層包含了文件系統,全部的表結構和數據以及用戶操做的日誌最終仍是以文件的形式存儲在硬盤上。