mysql客戶端連線的幾個常見錯誤
mysql 客戶端連線伺服器,客戶端報對應的錯誤號總結:
1. Error 104
mysql@longxibendi-dba-u-abcd00.longxibendi:~$perror 104
OS error code 104: Connection reset by peer
這個是由於server端 backlog 滿了 導致。
2. Error 110
mysql@longxibendi-dba-u-abcd00.longxibendi:~$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) + 2 n]=3 (2n+1 - 1 ) + 傳輸時間
因為傳輸時間基本為0s
所以省略傳輸時間,總花費時間大概為 3 (2n+1 - 1 ) 秒
源:http://blog.csdn.net/longxibendi/article/details/8020427
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20625855/viewspace-1609165/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql、redis 客戶端連線池MySqlRedis客戶端
- SQL Server連線中三個常見的錯誤分析SQLServer
- 蘋果開發幾個常見的錯誤蘋果
- MySQL client客戶端的四種連線方式MySqlclient客戶端
- MySQL 常見錯誤MySql
- Jdbc連線Oracle常見錯誤彙總JDBCOracle
- impala客戶端連線客戶端
- Redis客戶端連線Redis客戶端
- BlueHost SSH連線常見錯誤和解決方法
- mysql replication常見錯誤MySql
- SonicWALL Global VPN客戶端連線出現Failed to open the IPSec driver錯誤客戶端AI
- java遠端呼叫(rmi)常見的兩個錯誤Java
- SQL Server 連線常見錯誤及其處理方法SQLServer
- 客戶端TNSPING通 連線出現ORA-12514錯誤客戶端
- MySQL 安裝常見錯誤MySql
- mysql8 常見錯誤MySql
- MySQL Replication常見錯誤整理MySql
- 使用 Promise 時的5個常見錯誤,你佔了幾個!Promise
- vncserver建立與客戶端連線VNCServer客戶端
- oracle 客戶端連線11gR2 SCAN 報ORA-12545錯誤Oracle客戶端
- 客戶端連線資料庫的方法客戶端資料庫
- Mysql:1236常見錯誤MySql
- MySql 常見錯誤程式碼大全MySql
- 【常見的SQL Server連線失敗錯誤以及解決方法】SQLServer
- EXP客戶端版本差異造成的錯誤客戶端
- 以客戶端為中心的錯誤處理客戶端
- Redis客戶端連線數DevOpsRedis客戶端dev
- 從客戶端連線ASM例項客戶端ASM
- windows客戶機連線gerrit的一個報錯處理Windows
- SQL改寫系列九:外連線轉內連線的常見場景與錯誤SQL
- 解決:客戶端連線11gR2 RAC報ORA-12545錯誤客戶端
- SQLyog客戶端無法連線MySQL伺服器案例分析客戶端MySql伺服器
- MySQL常見的8種SQL錯誤用法MySql
- Oracle 19c中連線RMAN客戶端的連線方法Oracle客戶端
- 幾種常見的資料庫連線方法資料庫
- 某客戶系統tomcat連線池連線異常Tomcat
- SQL改寫系列九:外連線轉內連線的常見場景與錯誤-2SQL
- 客戶端連線EBS 11i VIS報ORA-12537: TNS: 連線已關閉 錯誤的解決客戶端