自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL:MySQL體系架構(gòu)

數(shù)據(jù)庫(kù) MySQL
存儲(chǔ)引擎負(fù)責(zé)MySQL中數(shù)據(jù)的存儲(chǔ)與提取,與底層系統(tǒng)文件進(jìn)行交互。MySQL存儲(chǔ)引擎是插件式的,服務(wù)器中的查詢執(zhí)行引擎通過(guò)接口與存儲(chǔ)引擎進(jìn)行通信,接口屏蔽了不同存儲(chǔ)引擎之間的差異 ?,F(xiàn)在有很多種存儲(chǔ)引擎,各有各的特點(diǎn),最常見(jiàn)的是MyISAM和InnoDB。

一、MySQL體系架構(gòu)

MySQL Server架構(gòu)自頂向下大致可以分網(wǎng)絡(luò)連接層、服務(wù)層、存儲(chǔ)引擎層和系統(tǒng)文件層。

二、網(wǎng)絡(luò)連接層

客戶端連接器(Client Connectors):提供與MySQL服務(wù)器建立的支持。目前幾乎支持所有主流的服務(wù)端編程技術(shù),例如常見(jiàn)的 Java、C、Python、.NET等,它們通過(guò)各自API技術(shù)與MySQL建連接。

三、服務(wù)層

服務(wù)層是MySQL Server的核心,主要包含系統(tǒng)管理和控制工具、連接池、SQL接口、解析器、查詢優(yōu)化器和緩存六個(gè)部分。

連接池(Connection Pool):負(fù)責(zé)存儲(chǔ)和管理客戶端與數(shù)據(jù)庫(kù)的連接,一個(gè)線程負(fù)責(zé)管理一個(gè)連接。

系統(tǒng)管理和控制工具(Management Services & Utilities):例如備份恢復(fù)、安全管理、集群管理等

SQL接口(SQL Interface):用于接受客戶端發(fā)送的各種SQL命令,并且返回用戶需要查詢的結(jié)果。比如DML、DDL、存儲(chǔ)過(guò)程、視圖、觸發(fā)器等。

解析器(Parser):負(fù)責(zé)將請(qǐng)求的SQL解析生成一個(gè)"解析樹(shù)"。然后根據(jù)一些MySQL規(guī)則進(jìn)一步檢查解析樹(shù)是否合法。

查詢優(yōu)化器(Optimizer):當(dāng)“解析樹(shù)”通過(guò)解析器語(yǔ)法檢查后,將交由優(yōu)化器將其轉(zhuǎn)化成執(zhí)行計(jì)劃,然后與存儲(chǔ)引擎交互。

緩存(Cache&Buffer): 緩存機(jī)制是由一系列小緩存組成的。比如表緩存,記錄緩存,權(quán)限緩存,引擎緩存等。如果查詢緩存有命中的查詢結(jié)果,查詢語(yǔ)句就可以直接去查詢緩存中取數(shù)據(jù)。

四、存儲(chǔ)引擎層

存儲(chǔ)引擎負(fù)責(zé)MySQL中數(shù)據(jù)的存儲(chǔ)與提取,與底層系統(tǒng)文件進(jìn)行交互。MySQL存儲(chǔ)引擎是插件式的,服務(wù)器中的查詢執(zhí)行引擎通過(guò)接口與存儲(chǔ)引擎進(jìn)行通信,接口屏蔽了不同存儲(chǔ)引擎之間的差異 ?,F(xiàn)在有很多種存儲(chǔ)引擎,各有各的特點(diǎn),最常見(jiàn)的是MyISAM和InnoDB。

五、系統(tǒng)文件層

該層負(fù)責(zé)將數(shù)據(jù)庫(kù)的數(shù)據(jù)和日志存儲(chǔ)在文件系統(tǒng)之上,并完成與存儲(chǔ)引擎的交互,是文件的物理存儲(chǔ)層。主要包含日志文件,數(shù)據(jù)文件,配置文件,pid 文件,socket 文件等。

日志文件

錯(cuò)誤日志(Error log):默認(rèn)開(kāi)啟,show variables like '%log_error%';

通用查詢?nèi)罩荆℅eneral query log):記錄一般查詢語(yǔ)句,show variables like '%general%';

二進(jìn)制日志(binary log):記錄了對(duì)MySQL數(shù)據(jù)庫(kù)執(zhí)行的更改操作,并且記錄了語(yǔ)句的發(fā)生時(shí)間、執(zhí)行時(shí)長(zhǎng);但是它不記錄select、show等不修改數(shù)據(jù)庫(kù)的SQL。主要用于數(shù)據(jù)庫(kù)恢復(fù)和主從復(fù)制。show variables like '%log_bin%'; //是否開(kāi)啟show variables like '%binlog%'; //參數(shù)查看show binary logs;//查看日志文件

慢查詢?nèi)罩荆⊿low query log):記錄所有執(zhí)行時(shí)間超時(shí)的查詢SQL,默認(rèn)是10秒。show variables like '%slow_query%'; //是否開(kāi)啟show variables like '%long_query_time%'; //時(shí)長(zhǎng)

配置文件:用于存放MySQL所有的配置信息文件,比如my.cnf、my.ini等。

數(shù)據(jù)文件:

db.opt 文件:記錄這個(gè)庫(kù)的默認(rèn)使用的字符集和校驗(yàn)規(guī)則。

frm 文件:存儲(chǔ)與表相關(guān)的元數(shù)據(jù)(meta)信息,包括表結(jié)構(gòu)的定義信息等,每一張表都會(huì)有一個(gè)frm 文件。

MYD 文件:MyISAM 存儲(chǔ)引擎專用,存放 MyISAM 表的數(shù)據(jù)(data),每一張表都會(huì)有一個(gè) .MYD 文件。

MYI 文件:MyISAM 存儲(chǔ)引擎專用,存放 MyISAM 表的索引相關(guān)信息,每一張 MyISAM 表對(duì)應(yīng)一個(gè) .MYI 文件。

ibd文件和 IBDATA 文件:存放 InnoDB 的數(shù)據(jù)文件(包括索引)。

InnoDB 存儲(chǔ)引擎有兩種表空間方式:獨(dú)享表空間和共享表空間。獨(dú)享表空間使用 .ibd 文件來(lái)存放數(shù)據(jù),且每一張 InnoDB 表對(duì)應(yīng)一個(gè) .ibd 文件。共享表空間使用 .ibdata 文件,所有表共同使用一個(gè)(或多個(gè),自行配置).ibdata 文件。

ibdata1 文件:系統(tǒng)表空間數(shù)據(jù)文件,存儲(chǔ)表元數(shù)據(jù)、Undo日志等 。

ib_logfile0、ib_logfile1 文件:Redo log 日志文件。

pid 文件:

pid 文件是 mysqld 應(yīng)用程序在 Unix/Linux 環(huán)境下的一個(gè)進(jìn)程文件,和許多其他 Unix/Linux 服務(wù)端程序一樣,它存放著自己的進(jìn)程 id。

socket 文件:

socket 文件也是在 Unix/Linux 環(huán)境下才有的,用戶在 Unix/Linux 環(huán)境下客戶端連接可以不通過(guò) TCP/IP 網(wǎng)絡(luò)而直接使用 Unix Socket 來(lái)連接 MySQL。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2021-01-06 10:09:38

MySQL

2021-03-04 00:09:31

MySQL體系架構(gòu)

2021-07-05 22:11:38

MySQL體系架構(gòu)

2022-05-24 07:39:09

MySQL數(shù)據(jù)庫(kù)日志

2012-02-06 17:22:44

MySQL

2020-11-09 09:50:45

MySQL數(shù)據(jù)恢復(fù)

2018-01-15 16:57:18

MySQLOraclePostgreSQL

2017-05-11 12:30:25

MySQL設(shè)計(jì)架構(gòu)

2019-07-01 12:55:05

安全體系架構(gòu)網(wǎng)絡(luò)安全企業(yè)安全

2018-04-23 09:25:24

MySQL結(jié)構(gòu)存儲(chǔ)

2016-09-04 14:00:31

Spark

2009-12-23 10:13:20

WPF體系架構(gòu)

2017-06-27 14:05:19

2022-05-17 11:06:44

數(shù)據(jù)庫(kù)MySQL系統(tǒng)

2012-03-08 11:13:23

企業(yè)架構(gòu)

2021-04-06 09:43:41

微服務(wù)架構(gòu)數(shù)據(jù)

2022-02-17 21:13:08

MySQL架構(gòu)體系

2017-04-17 09:56:43

系統(tǒng)架構(gòu)體系

2019-01-14 14:25:25

MySQL存儲(chǔ)邏輯架構(gòu)

2018-01-12 14:20:37

數(shù)據(jù)庫(kù)MySQL高可用架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)