mysql中的服務(wù)器架構(gòu)詳解
1、背景
簡單理解一下mysql的服務(wù)器架構(gòu)。
2、mysql服務(wù)器架構(gòu)解釋
mysql的架構(gòu)圖如下:

主要分為三部分:客戶端、服務(wù)端、存儲引擎。
接下來我們來解釋一下各個部分:
客戶端
- 用來連接mysql服務(wù)器的命令行、各種語言的客戶端。
服務(wù)端分為:連接器、分析器、優(yōu)化器、執(zhí)行器。
連接器
- mysql -h 127.0.0.1 -P 3306 -u xxx -p這條命令就是與連接器進行連接,連接成功之后就對用戶權(quán)限和連接進行管理。
分析器
- 分析器先進行詞法分析:就是識別出sql語句中的select、update、insert、delete關(guān)鍵字還有操作哪些表哪些字段等。
- 然后進行語法分析:判斷這條sql的語法是否正確。
優(yōu)化器
- 優(yōu)化器就是一條sql執(zhí)行可能會有好幾種方案,然后選擇一種最合適的方案。
- 比如表里有好幾個索引,優(yōu)化器就會決定最先使用哪個索引。
執(zhí)行器
- 調(diào)用存儲引擎獲取結(jié)果之前,先判斷建立連接的用戶對操作的表有不有權(quán)限,沒權(quán)限就報錯,有權(quán)限就獲取存儲引擎返回的結(jié)果,將符合條件的結(jié)果返回給客戶端。
存儲引擎
- 存儲數(shù)據(jù),提供讀寫接口。
3、總結(jié)
簡單了解mysql服務(wù)器的架構(gòu),對一條sql的執(zhí)行流程有個大概的認(rèn)識,后續(xù)再深入理解各個部分。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL數(shù)據(jù)xtrabackup物理備份的方式
Xtrabackup是開源免費的支持MySQL 數(shù)據(jù)庫熱備份的軟件,在 Xtrabackup 包中主要有 Xtrabackup 和 innobackupex 兩個工具,本文給大家介紹MySQL數(shù)據(jù)xtrabackup物理備份方法,感興趣的朋友跟隨小編一起看看吧2023-10-10
MySQL5.6.17數(shù)據(jù)庫安裝 如何配置My.ini文件
這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫安裝教程,教大家如何配置My.ini文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
MySQL?數(shù)據(jù)庫創(chuàng)建存儲過程及使用場景全解析
在MySQL數(shù)據(jù)庫管理中,存儲過程是一種預(yù)先編譯的SQL語句集合,它可以接受參數(shù)、執(zhí)行復(fù)雜的操作,并且可以被多次調(diào)用,本文將詳細(xì)介紹如何在MySQL中創(chuàng)建存儲過程,感興趣的朋友跟隨小編一起看看吧2025-09-09
MYSQL的REPLACE和ON DUPLICATE KEY UPDATE語句介紹解決問題實例
這篇文章主要介紹了MYSQL的REPLACE和ON DUPLICATE KEY UPDATE語句介紹解決問題實例,需要的朋友可以參考下2014-04-04
MySQL學(xué)習(xí)之日期函數(shù)的用法詳解
本文將學(xué)習(xí)MySQL的日期函數(shù),在前面章節(jié)的練習(xí)中,我們就利用過NOW()函數(shù)來獲取過當(dāng)前系統(tǒng)時間,用DATEDIFF函數(shù)來計算日期相差的天數(shù),接下來我們就系統(tǒng)的學(xué)習(xí)一下 日期函數(shù)2022-08-08
MySQL千萬級大數(shù)據(jù)SQL查詢優(yōu)化知識點總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于MySQL千萬級大數(shù)據(jù)SQL查詢優(yōu)化知識點總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2019-12-12

