學(xué)習(xí)資源來(lái)自《mysql是怎樣運(yùn)行的》
1.1 mysql的客戶端/服務(wù)端架構(gòu)
mysql的服務(wù)器程序直接與要存儲(chǔ)的數(shù)據(jù)打交道惕虑,多個(gè)客戶端程序可以連接到這個(gè)服務(wù)端程序,向服務(wù)器發(fā)送增刪改查的請(qǐng)求耻台,然后服務(wù)器程序根據(jù)這些請(qǐng)求,對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行相應(yīng)處理。
1.2 服務(wù)器啟動(dòng)程序
- mysqld 可以注解啟動(dòng)mysql服務(wù)器進(jìn)程种远,但不常用。
- mysqld_safe 會(huì)調(diào)用那個(gè)mysqld并監(jiān)控服務(wù)器的運(yùn)行狀態(tài)(錯(cuò)誤時(shí)輸出日志以及幫助重啟)顽耳。
- mysql.server 會(huì)調(diào)用mysqld_safe坠敷,可以通過(guò)mysql.server start啟動(dòng)以及mysql.server stop關(guān)閉。
- mysqld_multi 可以啟動(dòng)或停止多個(gè)服務(wù)器實(shí)例進(jìn)程斧抱。
1.3 客戶端啟動(dòng)程序
mysql -h 主機(jī)名 -u 用戶名 -p密碼
1.3 服務(wù)器處理客戶短端請(qǐng)求
image.png
上圖可以看出常拓,服務(wù)器程序處理客戶端查詢請(qǐng)求時(shí),大致需要3部分:連接管理辉浦、解析與優(yōu)化弄抬、存儲(chǔ)引擎。
1.4 連接管理
負(fù)責(zé)連接的建立與信息的認(rèn)證宪郊。
1.5 解析與優(yōu)化
主要進(jìn)行查詢緩存掂恕、語(yǔ)法解析、查詢優(yōu)化弛槐。
1.6 存儲(chǔ)引擎
主要負(fù)責(zé)讀取和寫入底層表中的數(shù)據(jù)懊亡。我們常用的是InnoDB與MISAM引擎。
創(chuàng)建表時(shí)指定存儲(chǔ)引擎:
CREATE TABLE 表名 (
建表語(yǔ)句;
) ENGINE = 存儲(chǔ)引擎名稱;