1.C/S(客戶端/服務(wù)端)模型介紹
a.C/S 一般在局域網(wǎng)之間通過(guò)專門(mén)服務(wù)器提供連接和數(shù)據(jù)交換服務(wù).
b.C/S 一般面向相對(duì)固定的用戶群, 對(duì)信息安全的控制能力很強(qiáng).
2.連接數(shù)據(jù)庫(kù)方式
TCP/IP方式(遠(yuǎn)程、本地):
mysql -uroot -poldboy123 -h 10.0.0.51 -P3306
Socket方式(僅本地):
mysql -uroot -poldboy123 -S /tmp/mysql.sock
3.mysqld程序結(jié)構(gòu)(三層)
連接層
a.提供鏈接協(xié)議: tcp/ip souket
b.用戶信息驗(yàn)證: 用戶 密碼 IP souket
c.提供專用線程: 接收用戶sql,并且返回結(jié)果
sql層
a.語(yǔ)法檢查
b.語(yǔ)義檢查
c.權(quán)限檢查
d.解析器生成解析樹(shù),產(chǎn)生執(zhí)行計(jì)劃
e.優(yōu)化器選出最優(yōu)的執(zhí)行計(jì)劃
f.執(zhí)行器執(zhí)行sql語(yǔ)句
g.查詢緩存,開(kāi)啟后,連續(xù)相同查詢語(yǔ)句直接走緩存不走解析(前提文件沒(méi)改)
h.提供日志記錄
存儲(chǔ)引擎層
a.根據(jù)SQL層執(zhí)行的結(jié)果,從磁盤(pán)上拿數(shù)據(jù)蚊伞。
b.將16進(jìn)制的磁盤(pán)數(shù)據(jù),交由SQL結(jié)構(gòu)化化成表蓄拣,
c.連接層的專用線程返回給用戶
- 表的物理存儲(chǔ)結(jié)構(gòu)
MyISAM(一種引擎)的表:
-rw-r----- 1 mysql mysql 10816 Apr 18 11:37 user.frm
-rw-r----- 1 mysql mysql 396 Apr 18 12:20 user.MYD
-rw-r----- 1 mysql mysql 4096 Apr 18 14:48 user.MYI
InnoDB(默認(rèn)的存儲(chǔ)引擎)的表:
-rw-r----- 1 mysql mysql 8636 Apr 18 11:37 time_zone.frm
-rw-r----- 1 mysql mysql 98304 Apr 18 11:37 time_zone.ibd
time_zone.frm:存儲(chǔ)列相關(guān)信息
time_zone.ibd:數(shù)據(jù)行+索引
- 表的段银还、區(qū)、頁(yè)(16k)
頁(yè):最小的存儲(chǔ)單元(16K)
區(qū):1個(gè)或多個(gè)連續(xù)的頁(yè)
段:一個(gè)表就是一個(gè)段腐碱,包含一個(gè)或多個(gè)區(qū)