MySQL server has gone away錯誤的一些常見原因分析

chenfeng發表於2017-03-27
發生MySQL server has gone away的最常見原因是連線閒置超時,被伺服器中斷連線。預設情況下,伺服器關閉空閒時間超過8小時的連線,可以透過設定變數wait_timeout,來改變預設值8小時,同時還需要修改interactive_timeout。
wait_timeout:伺服器關閉非互動連線之前等待活動的秒數。
interactive_timeout:伺服器關閉互動式連線前等待活動的秒數

MySQL命令列預設是重連的,但有一些應用程式沒有重連的機制,往往會導致執行失敗。
導致MySQL server has gone away錯誤的一些其他原因如下:
(1).使用KILL命令或mysqladmin kill命令殺死了正在執行的執行緒
(2).在關閉了與伺服器的連線後試圖執行查詢
(3).在客戶端的一側遇到TCP/IP連線超時錯誤
(4).在伺服器端遇到超時錯誤,而且禁止了客戶端中的自動連線機制
(5).如果向伺服器發出了不正確或過大的查詢,也會遇到這類問題,如果mysqld收到過大的或者無序的資訊包,它會認為客戶端出錯並關閉連線。如果需要執行較大的查詢,則可以透過設定伺服器的max_allowed_packet
    變數,增加查詢限制值,該變數的預設值是1MB。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2136138/,如需轉載,請註明出處,否則將追究法律責任。

相關文章