MySQL聯結器原理 mysql 聯結器

2021-10-17 17:59:59 字數 919 閱讀 9248

mysql 的聯結器是msyql server層的第乙個模組。當我們用mysql 客戶端來連線mysql伺服器的時候,處理這個連線請求的就是聯結器模組。

mysql客戶端和伺服器端的連線使用的是tcp協議,在完成tcp握手之後,聯結器開始進行身份認證。

如果使用者名稱或密碼不對,那麼聯結器會丟擲乙個 "access denied for user"的錯誤,客戶端結束執行。

如果使用者名稱密碼認證通過,那麼聯結器會到許可權表中查出賬號擁有的許可權。以後所有的許可權判斷都是基於此時查出的許可權。這意味著,乙個使用者成功建立連線後,即使root使用者修改了這個使用者的許可權,對之前的連線也不能生效。只有修改之後生成的連線才能獲取到新的許可權。

連線建立成功後,如果長時間沒有操作,聯結器會自動斷開連線。斷開連線的時間是由wait_timeout控制的,預設值是8小時。

如果連線被斷開後,客戶端再次發生請求,會收到「lost connection to mysql server during query」的錯誤提示。這時候想要執行查詢,就需要重連了。

使用show processlist 可以檢視系統所有連線的資訊。其中command 列表示 連線的狀態,「sleep」 表示 連線是乙個空間的連線,沒有進行操作。

mysq的長連線是指連線成功後,客戶端有持續的請求,使用的一直是同乙個連線。短連線是指每次執行完少量的操作後就斷開連線,下次使用在重新建立連線。

因為連線過程比較複雜,所以推薦使用長連線。

但是使用長連線,會存在占用記憶體大的問題。這是因為在長連線中申請的臨時記憶體會一直存在,只有當連線斷開的時候才釋放。

解決長連線占用記憶體大的問題有兩個方法 1)定期斷開長連線,清楚長連線占用的記憶體。 2) mysql 5.7 或者更高的版本,可以執行 mysql_reset_connection 來重新初始化連線。這個過程不需要重新建立連線,但是會釋放占用的臨時記憶體,將連線恢復到剛剛創立連線的狀態。

怎麼將短連線修改為長連線 mysql 聯結器

mysql 的聯結器是msyql server層的第乙個模組。當我們用mysql 客戶端來連線mysql伺服器的時候,處理這個連線請求的就是聯結器模組。mysql客戶端和伺服器端的連線使用的是tcp協議,在完成tcp握手之後,聯結器開始進行身份認證。如果使用者名稱或密碼不對,那麼聯結器會丟擲乙個 a...

如何區別FFC聯結器和FPC聯結器

接器領域中,ffc聯結器和fpc聯結器常常讓人混淆。雖然兩者都是柔性電纜聯結器,但是ffc聯結器以及fpc聯結器還是有一定程度上的區別。柔性扁平電纜 flexible flat cable 聯結器,fpc是柔性印製線路 flexible print circuit 兩者的製造上來講,他們線路形成的方...

聯結器的作用

聯結器又稱接外掛程式,主要是在電子產品 電力裝置中提供方便的電氣插拔式連線,廣泛地應用於電子裝置當中,使得電子產品的生產 維修效率得以極大提高。由於大量採用插拔式連線,其連線的可靠性 接觸點電阻的大小對於產品的質量來說就越來越重要,因此必須對所採用的聯結器的效能進行全面的了解,以便合理正確地使用聯結...