天天看點

MySQL server has gone away問題解決方法

 1、應用程式(比如PHP)長時間的執行批量的MYSQL語句。最常見的就是采集或者新舊資料轉化。

  解決方案:

  在my.cnf檔案中添加或者修改以下兩個變量:

wait_timeout=2880000

interactive_timeout = 2880000  

關于兩個變量的具體說明可以google或者看官方手冊。如果不能修改my.cnf,則可以在連接配接資料庫的時候設定CLIENT_INTERACTIVE,比如:

sql = "set interactive_timeout=24*3600";

mysql_real_query(...)

  2、執行一個SQL,但SQL語句過大或者語句中含有BLOB或者longblob字段。比如,圖檔資料的處理

  解決方案:

  在my.cnf檔案中添加或者修改以下變量:

max_allowed_packet = 10M

(也可以設定自己需要的大小)

max_allowed_packet

參數的作用是,用來控制其通信緩沖區的最大長度