Mysql通訊協議

張衝andy發表於2016-12-20

Mysql四種通訊協議(linux下本地連線的都是socket 其他都是tcp)

 

當連線mysql時,使用-h127.0.0.1時,linux與unix下的連線協議為socket協議,windows下為memory協議。

如:   [root@mysql ~]# mysql -uandy -pandy -h127.0.0.1

當連線mysql時,使用非-h127.0.0.1時,使用tcp/ip協議。

如:   [root@mysql ~]# mysql -uandy -pandy

 

以下詳細描述了和MySQL server進行互動所使用各種不同通訊協議:


1.TCP/IP協議


 > 傳輸控制協議(Transmission Control Protocol)/網際網路協議(Internet Protocol),是一套被用於連線網際網路上各主機的通訊協議。TCP/IP一開始是用於UNIX作業系統建立網際網路通訊的。現在它已經成為了一種網路資料傳輸的事實標準。即便那些擁有自己通訊協議的網路作業系統,如Netware也支援TCP/IP協議。


2. Unix Socket協議
 > 在計算機世界,一個socket是一種內部程式通訊形式,它被用於在相同主機上形成程式間的雙向通訊連線點(在本地系統上的一個物理檔案)。


3.  Share Memory協議


 > 一個在程式間傳送資料的有效方法。一個程式會建立一個記憶體區以提供其它受允許的程式進行訪問。Windows顯式”passive”連線模式僅可工作於(Windows系統)主機中。


4.  NT管道
 >這種命名管道設計更偏向於客戶端-伺服器通訊,它們更像socket:除了用於通常的讀寫操作外,Windows命名管道也同時對server應用支援顯式”passive”被動連線模式。僅在單獨(Windows平臺)主機中執行。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2131069/,如需轉載,請註明出處,否則將追究法律責任。

相關文章