2
我正在嘗試爲我正在處理的某個體系結構創建一個圖表。雖然這樣做,我想知道PHP和MySQL數據庫之間實際發生了什麼類型的通信。我用過無數次,但從來沒有真正想過。如果MySQL數據庫位於另一臺服務器上,PHP如何發送查詢。 PHP層建立連接,但實際查詢數據庫時發生了什麼?它是否將查詢作爲純文本發送?它實際上收到了什麼,也是純文本?PHP和MySQL數據庫通信的方式
問候
我正在嘗試爲我正在處理的某個體系結構創建一個圖表。雖然這樣做,我想知道PHP和MySQL數據庫之間實際發生了什麼類型的通信。我用過無數次,但從來沒有真正想過。如果MySQL數據庫位於另一臺服務器上,PHP如何發送查詢。 PHP層建立連接,但實際查詢數據庫時發生了什麼?它是否將查詢作爲純文本發送?它實際上收到了什麼,也是純文本?PHP和MySQL數據庫通信的方式
問候
SQL的通信方面往往是由驅動程序(ODBC和等)進行,所以你不必擔心。
MySQL使用自己的協議。有一個握手階段,認證,然後您通過COM_STMT_PREPARE發送準備好的語句到服務器,並要求服務器通過COM_STMT_EXECUTE執行它。
你可能想獲得MySQL的內部手冊一看:
https://dev.mysql.com/doc/internals/en/client-server-protocol.html
所以基本上是我下了鏈接的是,MySQL驅動程序使用自己的協議,因此發送通信時/接收包並在發送/接收時對它們進行編碼/解碼。這是一種套接字通信? – b101
是的,你明白了。其他人可以進一步確認,但似乎是這樣。 – Galcha