mysql 客戶端連線伺服器,客戶端報對應的錯誤號總結:
1. error 104
[email protected]:~$perror 104
os error code 104: connection reset by peer
這個是由於server端 backlog 滿了 導致。
2. error 110
[email protected]:~$perror 110
os error code 110: connection timed out
這個是與server端 連線時 超時 導致。超時時間超過了客戶端time out。
3. error 111
mysql@longxibendi-dba-u-abcd00.
longxibendi
:~$perror 111
os error code 111: connection refused
這個是與server端 連線,被server連線拒絕,說明這個埠不處於監聽狀態,或該埠不開放導致。
4. error 4
mysql@longxibendi-dba-u-abcd00.
longxibendi
:~$perror 4
os errorcode 4: interrupted system call
這個說明,客戶端發起第乙個tcp包(syn包),在客戶端設定的時間內,沒有得到響應。在沒有超過客戶端的timeout時間(也有其它原因,比如檔案控制代碼不夠也會被os斷開這次連線),客戶端被os斷開了。
重點說明下 error 4
mysql@longxibendi-dba-u-abcd00.
longxibendi
:~$mysql -hlongxibendi-cd-pa-abcd00 -p3309 --connect-time=5
error 2003 (hy000): can't connect to mysql server on'longxibendi-cd-pa-abcd00' (4)
mysql@longxibendi-dba-u-abcd00.
longxibendi
:~$time mysql -hlongxibendi-cd-pa-abcd00 -p3306 --connect-time=8
error 2003 (hy000): can't connect to mysql server on'longxibendi-cd-pa-abcd00' (4)
real 0m8.006s
user 0m0.004s
sys 0m0.001s
mysql@longxibendi-dba-u-abcd00.
longxibendi
:~$mysql -hlongxibendi-cd-pa-abcd00 -p3309 --connect-time=10
error 2013 (hy000): lost connection to mysql server at 'readinginitial communication packet', system error: 110
客戶端與server進行連線,連線重試次數,取決於/proc/sys/net/ipv4/tcp_syn_retries 這個引數(測試的伺服器,該引數=1)
這樣,客戶端,第一次發起連線,持續3s,不成功,進行第一次重試,持續6s,如果不成功,則被os斷開。
所以,在設定為 connect-time=5、8s 的二次測試中,都是因為,第一次重試,重試還沒完成,但超過connect-time時間,客戶端被os斷開。(因為要完成第一次重試,至少需要9s,而connect-time小於9s)。故而報 error 4 。
在設定為connect-time=10s的測試中,客戶端第一次發起連線,持續3s,不成功,進行第一次重試,重試完,還沒成功,到達connect-time時間,客戶端斷開。故而報 error 110 。
總結下,假設 /proc/sys/net/ipv4/tcp_syn_retries的值為 n
則,在 tcp發起連線時,先傳送syn包,在沒有超過 connect-time 之前,依次重試時間間隔規律為
3s 6s 12s 24s 48s
0次 第1次 第2次 第3次 第4次
第0次,發syn包,持續3s等響應,如果沒有,重試第1次,傳送syn包,持續6s,如果沒有重試第2次,發syn包,持續12s,依次類推
總花費時間為:
傳輸時間+間隔時間=傳輸時間 + 3*[1*(1-2n)/(1-2) + 2n]=3 (2n+1 - 1 ) + 傳輸時間
因為傳輸時間基本為0s
所以省略傳輸時間,總花費時間大概為 3 (2n+1 - 1 ) 秒
mysql client常見error總結
mysql 客戶端連線伺服器,客戶端報對應的錯誤號總結 1.error 104 mysql longxibendi dba u abcd00.longxibendi perror 104 os error code 104 connection reset by peer 這個是由於server端 ...
mysql client編碼 MySQL 編碼
編碼的種類 1 character set client mysql server 假定client傳輸資料過來的時候的編碼 2 character set connection server收到sql語句時,將其轉換成的編碼 3 character set results server在返回資料給...
Python安裝Mysqlclient的坑
一 直接通過pip安裝失敗,第一次提示缺少元件,安裝完元件第二次安裝失敗。後使用安裝包進行安裝 輸入命令 pip install mysqlclient 1.3.13 cp37 cp37m win amd64.whl 提示失敗 5.輸入命令 pip install mysqlclient 1.3.1...