Mysql的四種通訊方式

2021-10-19 13:00:56 字數 1943 閱讀 2824

老方式,先練一下審美

tcp/ip套接字連線方式是mysql在任何平台都提供的一種連線方式,也是網路中使用最多的一種方式。

那麼他們是怎麼連線上的嘞?

假設我有兩台伺服器分別部署mysql資料庫客戶端(192.168.0.1)和mysql資料庫例項(192.168.0.2),兩者需要進行通訊,需要建立tcp/ip連線;

檢查許可權表(user表),判斷客戶端的ip有沒有機會和我們的mysql例項建立關係

為啥要用這個進行通訊嘞?

提到通訊,我們需要解決的問題是身份識別問題。就比如兩個人去相親了,首先男方得知道女方叫小王啥的,不能看見乙個女的就上去跟人家談婚論價(沒打錯)吧,那你不是神經病嗎?

對於乙個機器的,我們有作業系統管理,不同的程序作業系統都會給他乙個身份–程序號(pid),這個是可以作為唯一的標識的。

所以本地登入mysql還可以這麼操作:

這裡我們就不需要ip和埠號了,因為我們的圈子就這麼大,穿個馬甲也認識你。

但是網路間進行通訊的時候,pid就不管事了,另外作業系統支援的網路協議可能也是不一樣的。

所以網路間程序通訊需要解決唯一身份標識和網路協議識別問題。(明白你和你小朋友聊天多麻煩了吧)。

這個問題我們的tcp/ip協議可以解決呀,ip層的ip位址可以唯一標識網路計算機身份,好了知道你女朋友住在哪個小區了,傳輸層的「協議+埠」可以唯一表示程序,好了到了你女朋友的家門口了,有了這三樣你就可以見到你的女朋友了。(ip位址、協議、埠號)。

unix socket連線方式其實不是乙個網路協議,所以只能在mysql客戶端和資料庫例項在同一臺伺服器上的情況下使用。

你品,你細品這句話,人類的進步就是從偷懶開始的。

當然這個通訊是有他的價值的?

存在即合理(勿噴用法)

不需要經過網路協議棧,不需要打包拆包,計算校驗和,維護序號,路由和應答等;

人家只是簡簡單單的將應用層資料從乙個程序拷貝到另乙個程序,當然這個速度也是要快的

unix socket的位址是乙個socket型別的檔案在檔案系統中的路徑。

首先說一下,這個協議是人家windows的情侶款**,其他平台不可飼用(沒錯)。

named pips可以在乙個計算機內使用或者同乙個區域網下的計算機進行使用,跟網路協議沒有半毛錢的關係。

使用方法:

enable-named-pipe
允許兩個不相關的程序訪問同乙個邏輯記憶體。

這個也是只有人家windows飼用

使用這個協議需要在配置檔案中在啟動的時候使用 –shared-memory引數

可以學習前兩個通訊方式,其他的不需要深入了解。

Socket程式設計的四種通訊方式

tcp協議中伺服器端和客戶端必須建立起連線才能收發資料 udp協議中伺服器端和客戶端不需要建立連線,根據ip和埠號就能收發資料 1.基於連線和不連線 2.對系統資源的要求 tcp較多,udp較少 3.udp結構簡單 4.流模式和資料報模式 5.tcp表示資料正確性,udp可能丟包,tcp保證資料資料...

mysql的四種啟動方式

檢視該版本的相應引數 mysqld verbose help 1 mysqld mysqld defaults file etc my.cnf user mysql 2 mysqld safe mysqld safe defaults file etc my.cnf user mysql 3 mys...

Java 程序間通訊的四種方式

所謂程序通訊,就是不同程序之間進行一些 接觸 這種接觸有簡單,也有複雜。機制不同,複雜度也不一樣。通訊是乙個廣義上的意義,不僅僅指傳遞一些massege。他們的使用方法是基本相同的,所以只要掌握了一種的使用方法,然後記住其他的使用方法就可以了。1 訊號 在我學習的內容中,主要接觸了訊號來實現同步的機...