2.1 MySQL服務結(jié)構(gòu)
mySQL是一個典型的c/s模式,由服務端和客戶端組成。
服務端:mysqld
客戶端:mysql
客戶端自帶程序:mysql,mysqladmin,mysqldump等
2.2 MYSQL連接方式
TCP/IP連接方式mysql -uroot -p123456 -h IP
套接字連接(也可以稱為網(wǎng)絡套接字連接)mysql -uroot -p123 -S /tmp/mysql.sock
sock是可以在/etc/my.cnf中自己指定目錄
像我們常用的mysql -uroot -p123456 就是采用套接字連接的
2.3 MYSQL的啟動過程
啟動后臺守護進程,并生成工作線程
預分配內(nèi)存結(jié)構(gòu)供MySQL處理數(shù)據(jù)使用
2.4 MYSQLD的服務器程序構(gòu)成
2.4.1 連接層
通信協(xié)議:TCP/IP
線程:連接數(shù)量
驗證:用戶名,用戶密碼
2.4.2 SQL層
SQL:結(jié)構(gòu)化的查詢語言(數(shù)據(jù)庫內(nèi)部的邏輯語言)
DDL:數(shù)據(jù)庫定義語言
DCL:數(shù)據(jù)庫控制語言
DML:數(shù)據(jù)庫操作語言
DQL:數(shù)據(jù)查詢語言
SQL層的功能
1、判斷
語法、語句、語義
語句類型:DQL select
2、數(shù)據(jù)庫不能真正理解SQL語句
必須明確的知道,數(shù)據(jù)在哪個磁盤的,哪個文件的哪個,哪個頁上。
數(shù)據(jù)庫對象授權(quán)情況進行檢查。
3、解析(解析器)
將sql語句解析成N種執(zhí)行計劃
4、優(yōu)化 (優(yōu)化器)
5.6以后學習了oracle,基于代價算法,從N中執(zhí)行計劃中選擇代價最小的交給“執(zhí)行器”
5、“執(zhí)行器”
運行執(zhí)行計劃
生成如何去磁盤找數(shù)據(jù)方式
6、將取數(shù)據(jù)獲取的方式,交由下層(存儲引擎層)進行處理
7、最終,將取出的數(shù)據(jù)抽象成 管理員或用戶能看懂的方式(表),展現(xiàn)用戶面前。
8、查詢緩存:緩存之前查詢的數(shù)據(jù)。假如我們查詢的表是一個經(jīng)常有變動的表,查詢緩存不要設置太大。
SQL處理流程:
2.4.3存儲引擎層
存儲引擎是充當不同表類型的處理程序的服務器組件。
存儲引擎層的功能
存數(shù)據(jù)、取數(shù)據(jù) (往磁盤上讀寫,相當于中介)
數(shù)據(jù)的不同存儲方式
不同的管理方式:
事務(增、刪、改)
備份恢復
高級功能(高可用的架構(gòu)、讀寫分離架構(gòu))
特殊功能:
全文搜索
引用完整性
空間數(shù)據(jù)處理
存儲引擎用于:
存儲數(shù)據(jù)
檢索數(shù)據(jù)
通過索引查找數(shù)據(jù)
雙層處理
上層包括SQL解析器和優(yōu)化器
下層包含一組存儲引擎
SQL 層不依賴于存儲引擎:
引擎不影響SQL處理
有一些例外
2.5 MYSQL邏輯結(jié)構(gòu)(數(shù)據(jù)庫內(nèi)部結(jié)構(gòu))
邏輯構(gòu)成是為了用戶能夠讀懂數(shù)據(jù)出現(xiàn)的
管理數(shù)據(jù)的一種方式。
對象:
庫中包含表,在linux中以目錄表示
表中有列結(jié)構(gòu)與行記錄,在linux中以多個文件表示
行記錄
列結(jié)構(gòu)
2.6 MYSQL的存儲方式
程序文件隨數(shù)據(jù)目錄一起存儲在服務器安裝目錄下。執(zhí)行各種客戶機程序、管理程序和實用程序時將創(chuàng)建程序可執(zhí)行文件和日志文件。首要使用磁盤空間的是數(shù)據(jù)目錄。
服務器日志文件和狀態(tài)文件:
包含有關服務器處理的語句的信息。日志可用于進行故障排除、監(jiān)視、復制和恢復。
InnoDB 日志文件:
(適用于所有數(shù)據(jù)庫)駐留在數(shù)據(jù)目錄級別。
InnoDB 系統(tǒng)表空間:
包含數(shù)據(jù)字典、撤消日志和緩沖區(qū)。
每個數(shù)據(jù)庫在數(shù)據(jù)目錄下均具有單一目錄(無論在數(shù)據(jù)庫中創(chuàng)建何種類型的表)。數(shù)據(jù)庫目錄存儲以下內(nèi)容:
數(shù)據(jù)文件:
特定于存儲引擎的數(shù)據(jù)文件。這些文件也可能包含元數(shù)據(jù)或索引信息,具體取決于所使用的存儲引擎。
格式文件 (.frm):
包含每個表和/或視圖結(jié)構(gòu)的說明,位于相應的數(shù)據(jù)庫目錄中。
觸發(fā)器:
與某個表關聯(lián)并在該表發(fā)生特定事件時激活的命名數(shù)據(jù)庫對象。
數(shù)據(jù)目錄的位置取決于配置、操作系統(tǒng)、安裝包和分發(fā)。典型位置是 /var/lib/mysql。
MySQL 在磁盤上存儲系統(tǒng)數(shù)據(jù)庫 (mysql)。
mysql 包含諸如用戶、特權(quán)、插件、幫助列表、事件、時區(qū)實現(xiàn)和存儲例程之類的信息。
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比思禮網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式思禮網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋思禮地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
標題名稱:MYSQL企業(yè)級應用(二)體系結(jié)構(gòu)
地址分享:http://muchs.cn/article24/jpdpce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、自適應網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)