top
Loading...
A.2.10.通信錯誤和失效連接
A.2.10. 通信錯誤和失效連接

對于連接問題,服務器錯誤日志是有用的信息源。請參見5.11.1節,“錯誤日志”。如果服務器是用“--log-warnings”選項啟動的,在錯誤日志中可能會發現下述消息:

010301 14:38:23  Aborted connection 854 to db: 'users' user: 'josh'

如果“Aborted connections”(放棄連接)消息出現在錯誤日志中,可能的原因是:

1.    客戶端程序在退出之前未調用mysql_close()

2.    客戶端的空閑時間超過wait_timeoutinteractive_timeout秒,未向服務器發出任何請求。請參見5.3.3節,“服務器系統變量”。

3.    客戶端在數據傳輸中途突然結束。

出現這類情況時,服務器將增加“Aborted_clients”(放棄客戶端)狀態變量。

出現下述情況時,服務器將增加“Aborted_clients”(放棄客戶端)狀態變量。

·         客戶端不具有連接至數據庫的權限。

·         客戶端采用了不正確的密碼。

·         連接信息包不含正確信息。

·         獲取連接信息包的時間超過connect_timeout秒。請參見5.3.3節,“服務器系統變量”。

如果出現這類情況,可能表明某人正試圖侵入你的服務器!

對于放棄客戶端或放棄連接問題,其他可能的源應包括:

·         Linux一起使用以太網協議,半雙工或全雙工。很多Linux以太網驅動均存在該缺陷。應通過FTP在客戶端和服務器機器之間傳輸大文件來測試該缺陷。如果傳輸處于burst-pause-burst-pause(爆發-暫停-爆發-暫停)模式,表明你遇到了Linux雙工故障。唯一的解決方法是,將網卡和Hub/交換器的雙工模式切換為全雙工或半雙工,并對結果進行測試以確定最佳設置。

·         與線程庫有關的某些問題導致讀取中斷。

·         配置不良的TCP/IP

·         有問題的以太網、Hub、交換器、電纜等。僅能通過更換硬件才能恰當診斷。

·         變量max_allowed_packet過小或查詢要求的內存超過為mysqld分配的內存。請參見A.2.9節,“信息包過大”。

另請參見A.2.8節,“MySQL服務器不可用”。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/problems.html
北斗有巢氏 有巢氏北斗