mysql的簡介及體系結構

2021-10-02 07:03:42 字數 2663 閱讀 7133

1、什麼是mysql?

mysql是乙個開源的關係型資料庫管理系統,現在是oracle公司旗下的一款產品,由c和c++語言編寫,可移植性高。支援 在多種作業系統上安裝,最常見有aix,linux,window。mysql因為開源免費,所以受到了目前網際網路行業的歡迎。

以mysql作為資料庫,linux系統作為作業系統,apache或者nginx作為web伺服器,perl/php/python作為服務端的腳 本直譯器,就可以搭建起乙個免費的**。被業界稱為lnmp或者lamp

2、mysql體系結構

連線者:不同語言的**程式和mysql的互動(sql互動)

1、連線池管理、緩衝使用者的連線,執行緒處理等需要快取的需求

2、管理服務和工具元件系統管理和控制工具,例如備份恢復、mysql複製、集群等

3、sql介面接受使用者的sql命令,並且返回使用者需要查詢的結果

4、查詢解析器sql命令傳遞到解析器的時候會被解析器驗證和解析(許可權、語法結構)

5、查詢優化器sql語句在查詢之前會使用查詢優化器對查詢進行優化

select id,name from user where age = 40;

a、這個select 查詢先根據where 語句進行選取,而不是先將表全部查詢出來以後再進行age過濾

b、這個select查詢先根據id和name進行屬性投影,而不是將屬性全部取出以後再進行過濾

c、將這兩個查詢條件聯接起來生成最終查詢結果

6、快取 如果查詢快取有命中的查詢結果,查詢語句就可以直接去查詢快取中取資料

7、插入式儲存引擎儲存引擎說白了就是如何管理運算元據(儲存資料、如何更新、查詢資料等)的一種方法。因為在關聯式資料庫

中資料的儲存是以表的形式儲存的,所以儲存引擎也可以稱為表型別(即儲存和操作此表的型別)

8.物理檔案日誌檔案,資料檔案,配置檔案,pid檔案,socket檔案等

8.1日誌檔案

error log 錯誤日誌 排錯 /var/log/mysqld.log【預設開啟】

bin log 二進位制日誌 備份 增量備份 ddl dml dcl log-bin=/var/log/mysql-bin/bin.log

relay log 中繼日誌 複製 接收 replication master

slow log 慢查詢日誌 調優 查詢時間超過指定值

slow_query_log=1|0

slow_query_log_file=/var/log/mysql-slow/slow.log

long_query_time=3

8.2配置檔案

/etc/my.cnf—>/etc/mysql/my.cnf—>/usr/etc/my.cnf—> ~/.my.cnf

如果衝突,以最後乙個讀取的為準

[mysqld]組中包括了mysqld服務啟動時的初始化引數

[client]組中包含著客戶端工具程式可以讀取的引數,此外還有其他針對各個客戶端軟體的特定引數組等

8.3資料檔案

1、.frm檔案

不論是什麼儲存引擎,每乙個表都會有乙個以表名命名的.frm檔案,與表相關的元資料(meta)資訊都存放在此檔案中,包括表結構的定義資訊等。

2、.myd檔案

myisam儲存引擎專用,存放myisam表的資料(data)。每乙個myisam表都會有乙個.myd檔案與之呼應,同樣存放在所屬資料庫的目錄下

3、.myi檔案

也是myisam儲存引擎專用,存放myisam表的索引相關資訊。對於myisam儲存引擎來說,可以被快取(cache)的內容主要就是**於.myi檔案中。

每乙個myisam表對應乙個.myi檔案,其存放的位置和.frm及.myd一樣

4、.ibd檔案和ibdata檔案

存放innodb的資料檔案(包括索引)。innodb儲存引擎有兩種表空間方式:獨享表空間和共享表空間。

獨享表空間:使用.ibd檔案來存放資料,且每個表乙個.ibd檔案,檔案存放在和myisam資料相同的位置。

共享表空間:使用.ibdata檔案,所有表共同使用乙個(或多個,自行配置)ibdata檔案。

ibdata1:系統表空間(資料檔案)undo 段

ib_logfile0 redlog檔案 一組

ib_logfile1

5、db.opt檔案 此檔案在每乙個自建的庫里都會有,記錄這個庫的預設使用的字符集和校驗規。

8.4 pid檔案

pid檔案是mysqld應用程式在unix/linux環境下的乙個程序檔案,和許多其他unix/linux服務端程式一樣,它存放著自己的程序id

3.**剖析mysql的執行過程

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...

TCP IP體系結構簡介

tcp ip體系結構簡介 tcp ip協議集把整個網路分成四層,包括網路介面層 網際層 傳輸層和應用層。1.網路介面層 網路介面 network inte ce 和各種通訊子網介面,遮蔽不同的物理網路細節 1 arp協議 2 rarp協議 反向位址解析協議 reverse address resol...