解決MySQL server has gone away的問題
解決MySQL server has gone away的問題
你是否曾遇見過 「MySql serverhas gone away」,一句讓人其實非常琢磨不透的錯誤訊息。
對這個問題請先別懷疑自己的代碼是否有問題,其實可能只不過是一個小小的設定問題。
我所碰到的情況就是,當你有大資料(資料大小大於1M)儲存到longblob欄位時,會出現這個問題。
起初也查了很久,是不是自己的代碼出錯,但使用的是PHP,不會向哪類編譯型語系有資料越界的可能,百思不得其解。
最終看了下mysql.ini,發現max_allowed_packet=1M,是不是這個預設設定值造成了此問題,把此設定值修改成max_allowed_packet=16M,問題真的解決了。
因此碰到此問題請先檢查自己的設定值是否有問題。
補充一句,不同版本的Mysql,此問題的錯誤訊息可能會不同。