成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL:MySQL體系架構

數據庫 MySQL
存儲引擎負責MySQL中數據的存儲與提取,與底層系統文件進行交互。MySQL存儲引擎是插件式的,服務器中的查詢執行引擎通過接口與存儲引擎進行通信,接口屏蔽了不同存儲引擎之間的差異 。現在有很多種存儲引擎,各有各的特點,最常見的是MyISAM和InnoDB。

一、MySQL體系架構

MySQL Server架構自頂向下大致可以分網絡連接層、服務層、存儲引擎層和系統文件層。

二、網絡連接層

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

三、服務層

服務層是MySQL Server的核心,主要包含系統管理和控制工具、連接池、SQL接口、解析器、查詢優化器和緩存六個部分。

連接池(Connection Pool):負責存儲和管理客戶端與數據庫的連接,一個線程負責管理一個連接。

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

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

解析器(Parser):負責將請求的SQL解析生成一個"解析樹"。然后根據一些MySQL規則進一步檢查解析樹是否合法。

查詢優化器(Optimizer):當“解析樹”通過解析器語法檢查后,將交由優化器將其轉化成執行計劃,然后與存儲引擎交互。

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

四、存儲引擎層

存儲引擎負責MySQL中數據的存儲與提取,與底層系統文件進行交互。MySQL存儲引擎是插件式的,服務器中的查詢執行引擎通過接口與存儲引擎進行通信,接口屏蔽了不同存儲引擎之間的差異 。現在有很多種存儲引擎,各有各的特點,最常見的是MyISAM和InnoDB。

五、系統文件層

該層負責將數據庫的數據和日志存儲在文件系統之上,并完成與存儲引擎的交互,是文件的物理存儲層。主要包含日志文件,數據文件,配置文件,pid 文件,socket 文件等。

日志文件

錯誤日志(Error log):默認開啟,show variables like '%log_error%';

通用查詢日志(General query log):記錄一般查詢語句,show variables like '%general%';

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

慢查詢日志(Slow query log):記錄所有執行時間超時的查詢SQL,默認是10秒。show variables like '%slow_query%'; //是否開啟show variables like '%long_query_time%'; //時長

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

數據文件:

db.opt 文件:記錄這個庫的默認使用的字符集和校驗規則。

frm 文件:存儲與表相關的元數據(meta)信息,包括表結構的定義信息等,每一張表都會有一個frm 文件。

MYD 文件:MyISAM 存儲引擎專用,存放 MyISAM 表的數據(data),每一張表都會有一個 .MYD 文件。

MYI 文件:MyISAM 存儲引擎專用,存放 MyISAM 表的索引相關信息,每一張 MyISAM 表對應一個 .MYI 文件。

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

InnoDB 存儲引擎有兩種表空間方式:獨享表空間和共享表空間。獨享表空間使用 .ibd 文件來存放數據,且每一張 InnoDB 表對應一個 .ibd 文件。共享表空間使用 .ibdata 文件,所有表共同使用一個(或多個,自行配置).ibdata 文件。

ibdata1 文件:系統表空間數據文件,存儲表元數據、Undo日志等 。

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

pid 文件:

pid 文件是 mysqld 應用程序在 Unix/Linux 環境下的一個進程文件,和許多其他 Unix/Linux 服務端程序一樣,它存放著自己的進程 id。

socket 文件:

socket 文件也是在 Unix/Linux 環境下才有的,用戶在 Unix/Linux 環境下客戶端連接可以不通過 TCP/IP 網絡而直接使用 Unix Socket 來連接 MySQL。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-01-06 10:09:38

MySQL

2021-03-04 00:09:31

MySQL體系架構

2021-07-05 22:11:38

MySQL體系架構

2022-05-24 07:39:09

MySQL數據庫日志

2012-02-06 17:22:44

MySQL

2018-01-15 16:57:18

MySQLOraclePostgreSQL

2020-11-09 09:50:45

MySQL數據恢復

2017-05-11 12:30:25

MySQL設計架構

2016-09-04 14:00:31

Spark

2019-07-01 12:55:05

安全體系架構網絡安全企業安全

2018-04-23 09:25:24

MySQL結構存儲

2017-06-27 14:05:19

2009-12-23 10:13:20

WPF體系架構

2022-05-17 11:06:44

數據庫MySQL系統

2011-04-29 13:40:37

MongoDBCommand

2012-03-08 11:13:23

企業架構

2021-04-06 09:43:41

微服務架構數據

2017-04-17 09:56:43

系統架構體系

2015-07-08 10:37:12

MySQL高可用架構業務架構

2022-02-17 21:13:08

MySQL架構體系
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美片网站免费 | 国产精品色综合 | 日韩成人免费av | 久久亚洲欧美日韩精品专区 | 欧美国产日韩在线观看 | 国产精品久久久久久久久久久免费看 | 日韩欧美三区 | 亚洲 欧美 另类 综合 偷拍 | 精品一区国产 | 日韩欧美中文字幕在线观看 | 亚洲精品视频免费 | 一级黄色毛片子 | 中文字幕不卡视频在线观看 | 日韩一级欧美一级 | 91文字幕巨乱亚洲香蕉 | 亚洲免费在线 | 欧美一区2区三区4区公司二百 | 久久国产亚洲 | 国产一区二区在线91 | 成人免费福利视频 | 国产亚洲精品美女久久久久久久久久 | 美女天堂 | 亚洲久久一区 | 欧美激情在线一区二区三区 | 东京久久| 中日韩av | 国产精品一码二码三码在线 | 一区二区亚洲 | 一区二区av | 97国产精品视频 | 久久91精品久久久久久9鸭 | 日韩精品一区二区三区中文字幕 | 欧洲一区二区三区 | 特一级毛片 | 国产午夜精品久久 | 欧美午夜精品久久久久免费视 | 国户精品久久久久久久久久久不卡 | 亚洲一区二区在线视频 | 欧美激情精品久久久久久 | 国产在线视频一区二区董小宛性色 | 国产综合区 |