MySQL之體系結構

2021-10-07 04:50:28 字數 1668 閱讀 8376

(1) 本地socket連線方式:

socket=/tmp/mysql.sock

mysql -s /tmp/mysql.sock

(2) 遠端tcp連線方式

mysql -uroot -p123 -h 192.168.159.51 -p 3306

例項:mysqld+工作執行緒+預分配的記憶體結構

功能:管理資料

3.1 mysqld程式結構

3.2 一條sql語句的執行過程

連線層

(1)提供連線協議:tcp/ip 、socket

(2)提供驗證:使用者、密碼,ip,socket

(3)提供專用連線線程:接收使用者sql,返回結果

通過以下語句可以檢視到連線線程基本情況

mysql> show processlist;

sql層(重點)

(1)接收上層傳送的sql語句

(2)語法驗證模組:驗證語句語法,是否滿足sql_mode

(3)語義檢查:判斷sql語句的型別

ddl :資料定義語言

dcl :資料控制語言

dml :資料操作語言

dql: 資料查詢語言

...(4)許可權檢查:使用者對庫表有沒有許可權

(5)解析器:對語句執行前,進行預處理,生成解析樹(執行計畫),說白了就是生成多種執行方案.

(6)優化器:根據解析器得出的多種執行計畫,進行判斷,選擇最優的執行計畫

代價模型:資源(cpu io mem)的耗損評估效能好壞

(7)執行器:根據最優執行計畫,執行sql語句,產生執行結果

執行結果:在磁碟的***x位置上

(8)提供查詢快取(預設是沒開啟的),會使用redis tair替代查詢快取功能

(9)提供日誌記錄(日誌管理章節):binlog,預設是沒開啟的。

儲存引擎層(類似於linux中的檔案系統)

負責根據sql層執行的結果,從磁碟上拿資料。

將16進製制的磁碟資料,交由sql結構化化成表,

連線層的專用線程返回給使用者。

頁:4個連續的block,mysql最小的儲存單元,預設16k

區:64個連續的頁,共1m

段:乙個表就是乙個段,包含乙個或多個區

mysql 體系結構 了解MySQL體系結構

mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...

簡述mysql體系結構 MySQL體系結構

一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...

MySQL體系結構

了解mysql必須牢牢記住其體系結構圖,mysql是由sql介面,解析器,優化器,快取,儲存引擎組成的 1 connectors指的是不同語言中與sql的互動 2 management serveices utilities 系統管理和控制工具 3 connection pool 連線池。管理緩衝使...