標籤:使用 one 整理 找到你 php程式 技術 數值 mysq nbsp
轉載連結:http://www.111cn.net/database/mysql/64073.htm
mysql資料庫出現MySQL server has gone away錯誤一般是sql語句太大導致了,下面們在使用Navicat中操作資料庫時提示MySQL server has gone away問題解決辦法。
備份資料時,產生的sql檔案比較大,當然,這個sql是包含了比較多的冗餘資料。用Navicat直接匯入的話,報錯MySQL server has gone away。如所示:
解決辦法
開啟navicat的菜單中的tools,選擇server monitor,然後在左列選擇資料庫,右列則點選variable表單項,尋找max_allowed_packet,將其值改大。
改好之後,再次匯入備份的sql檔案,一切正常。
如果還是無法解決,下面我整理了一些mysql查詢中碰到MySQL server has gone away問題
找到你的mysql目錄下的my.ini設定檔,加入以下代碼:
max_allowed_packet=500M
wait_timeout=288000
interactive_timeout = 288000
自己看情況更改數值,我直接改很大,最後記得重啟你的mysql服務
這樣的話就能很好的解決MySQL server has gone away問題了。max_allowed_packet是mysql允許最大的資料包,也就是你發送的請求; wait_timeout是等待的最長時間,這個值大家可以自訂,但如果時間太短的話,逾時後就會現了MySQL server has gone away #2006錯誤。max_allowed_packet參數的作用是,用來控制其通訊緩衝區的最大長度
如果沒有修改myql許可權我們可以在PHP程式裡面,如果php.ini修改起來不方便,可以以下代碼來嘗試解決。
ini_set(‘mysql.connect_timeout‘, 300);
ini_set(‘default_socket_timeout‘, 300);
在ini_set後,可以用ini_get來驗證參數設定適合符合預期。
Navicat中MySQL server has gone away錯誤怎麼辦【轉載】