最近在網站遷移時,出現網站遷移數據導不進去的問題,提示看了下是 mysql hasgone away 問題,百度一圈解決方案,出現解決方案如下
1、應用程序(比如PHP)長時間的執行批量的MYSQL語句。
最常見的就是采集或者新舊數據轉化。
解決方案:
在my.ini文件中添加或者修改以下兩個變量:
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 參數的作用是,用來控制其通信緩沖區的最大長度。
我的問題正好是第二個,導圖片,圖片存的是base64,把max_allowed_packet 修改了下,成功導入