1.一個mysql實例(進程)可以創建多個連接(線程)嗎?2.這里連接的概念有分物理上的連接和邏輯上的連接嗎?它們和mysql實例是什么關系,是否一一對應關系?3.php里的mysql_connect()是指創建什么連接?是物理連接嗎?
2 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
我思考過這個問題,如果你真正明白了什么是一個TCP連接,你的問題你就明白了。
第一點需要明確的是:mysql的Server實例與mysql的Client間通信是走TCP連接
好,明白了這點,現在嘗試搞明白什么才是一個真正的TCP連接?
用一個四元組就可以表示一個真正的連接。
[sourceIP,sourcePort,desIP,descPort]該四元組唯一的表示一條TCP連接。
當明白這個你就知道其實一個mysql客戶端進程與mysql Server直接是可以有多條TCP連接的。因為mysql客戶端可以開啟多個端口來連接Server端。
再會上題主的問題。當在mysql client端調用connect()方法的時候,是客戶端啟動一個端口與mysql Server進行TCP握手連接,三次握手完畢后TCP連接建立完畢。
添加回答
舉報
0/150
提交
取消