發生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。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信