【MySQL技術(shù)內(nèi)幕】體系結(jié)構(gòu)和存儲引擎

?數(shù)據(jù)庫:物理操作系統(tǒng)文件或其他形式文件類型的集合。在MySQL數(shù)據(jù)庫中,數(shù)據(jù)庫文件可以是frm、MYD、MYI、ibd結(jié)尾的文件。當使用NDB引擎時,數(shù)據(jù)庫的文件可能不是操作系統(tǒng)上的文件,而是存放于內(nèi)存之中的文件,但是定義仍然不變。

?實例:MySQL數(shù)據(jù)庫由后臺線程以及一個共享內(nèi)存區(qū)組成。共享內(nèi)存可以被運行的后臺線程所共享。需要牢記的是,數(shù)據(jù)庫實例才是真正用于操作數(shù)據(jù)庫文件的。

MySQL 體系結(jié)構(gòu)

InnoDB 存儲引擎

每個InnoDB存儲引擎的表單獨存放到一個獨立的ibd文件中。此外,InnoDB存儲引擎支持用裸設備(row disk)用來建立其表空間。

MyISAM存儲引擎

緩沖池只緩存(cache)索引文件,而不緩沖數(shù)據(jù)文件,這點和大多數(shù)的數(shù)據(jù)庫都非常不同。

連接 MySQL

連接MySQL操作是一個連接進程和MySQL數(shù)據(jù)庫實例進行通信。

TCP/IP 連接

TCP/IP套接字方式是MySQL數(shù)據(jù)庫在任何平臺下都提供的連接方式,也是網(wǎng)絡中使用得最多的一種方式。這種方式在TCP/IP連接上建立一個基于網(wǎng)絡的連接請求,一般情況下客戶端(client)在一臺服務器上,而MySQL實例(server)在另一臺服務器上,這兩臺機器通過一個TCP/IP網(wǎng)絡連接。

mysql -h hostname -u username -p
UNIX 域套接字

在Linux和UNIX環(huán)境下,還可以使用UNIX域套接字。UNIX域套接字其實不是一個網(wǎng)絡協(xié)議,所以只能在MySQL客戶端和數(shù)據(jù)庫實例在一臺服務器上的情況下使用。用戶可以在配置文件中指定套接字文件的路徑,如--socket=/tmp/mysql.sock。

mysql -u username -S /tmp/mysql.sock
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容