執行處理檔案和報告的伺服器時將結果傳送到遠端MySQL 伺服器時,使用者可能會遇到錯誤「2006,MySQL 伺服器已經消失」。這表示與伺服器的連線已意外提前終止。
與常見假設相反,該問題通常與 wait_timeout 設定無關。相反,解決方案在於另一個 MySQL 參數:max_allowed_packet。
預設的 max_allowed_packet 設定,通常會低至4MB(4194304 位元組)可能不足以處理大型資料包。當資料負載超過此限制時,伺服器會斷開連接,導致「MySQL 伺服器已消失」錯誤。
要解決此問題,請增加 /etc/my.cnf 檔案的 [mysqld] 部分中的 max_allowed_packet 值。伺服器上的 cnf 設定檔。設定為 8 或 16MB 通常就足夠了。
例如:
[mysqld] ... max_allowed_packet=16M ...
或者,您可以使用以下命令動態設定參數(重新啟動後變更將遺失):
SET GLOBAL max_allowed_packet=104857600;
以上是為什麼我的 MySQL 連線失敗並出現錯誤 2006(「MySQL 伺服器已消失」)以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!