MySQL server has gone away的問題解決
一、可能是mysql連接超時
原因:mysql長連接時,很長時間沒有新的請求發(fā)起到達(dá)服務(wù)端,當(dāng)這個時間超過配置的最大超時時間時,mysql就會強行關(guān)閉鏈接。此后再通過這個connection發(fā)起查詢的時候,就會報錯server has gone away。
解決辦法:可以將timeout時間設(shè)置長一點:
set global wait_timeout =3600 ; //非交互式鏈接
set global interactive_timeout=3600 ; //交互式鏈接
但是這樣會長時間占用mysql鏈接,消耗資源。
二、可能是發(fā)送的SQL語句太長
原因:mysql服務(wù)器端和客戶端在一次傳送數(shù)據(jù)包的過程中,數(shù)據(jù)包的大小大于max_allowed_packet設(shè)置的值。
解決辦法:可以將max_allowed_packet值設(shè)置大一點,set global max_allowed_packet=3600。
三、可能MySQL 服務(wù)宕了
可以查看mysql的運行時長:show global status like 'uptime'; 。來判斷是否屬于這個原因引起的。
uptime很長說明mysql運行很長時間了,排除mysql服務(wù)宕機(jī)的可能。
擴(kuò)展:
應(yīng)用程序長時間的執(zhí)行批量的MYSQL語句。執(zhí)行一個SQL,但SQL語句過大或者語句中含有BLOB或者longblob字段。比如,圖片數(shù)據(jù)的處理。都容易引起MySQL server has gone away。
解決MySQL server has gone away :
1、應(yīng)用程序長時間的執(zhí)行批量的MYSQL語句。最常見的就是采集或者新舊數(shù)據(jù)轉(zhuǎn)化?;蛘唛L時間閑置數(shù)據(jù)庫連接
解決方案:
在my.cnf/my.ini文件中添加或者修改以下兩個變量:
wait_timeout=2880000 interactive_timeout = 2880000
如果不能修改my.cnf/my.ini,則可以在連接數(shù)據(jù)庫的時候設(shè)置CLIENT_INTERACTIVE,比如:
sql = "set interactive_timeout=24*3600"; mysql_real_query(...)
2、執(zhí)行一個SQL,但SQL語句過大或者語句中含有BLOB或者longblob字段。比如,圖片數(shù)據(jù)的處理
解決方案:
在my.cnf/my.ini文件中添加或者修改以下變量:
max_allowed_packet = 10M(也可以設(shè)置自己需要的大小)
max_allowed_packet 參數(shù)的作用是,用來控制其通信緩沖區(qū)的最大長度。
到此這篇關(guān)于MySQL server has gone away的問題解決的文章就介紹到這了,更多相關(guān)MySQL server has gone away內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL分組的時候遇到ONLY_FULL_GROUP_BY報錯問題及解決方案
這篇文章主要介紹了MySQL分組的時候遇到ONLY_FULL_GROUP_BY報錯問題及解決方案,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
MySQL?數(shù)據(jù)庫的約束及數(shù)據(jù)表的設(shè)計原理
這篇文章主要介紹了MySQL?數(shù)據(jù)庫的約束及數(shù)據(jù)表的設(shè)計原理,數(shù)據(jù)庫中的約束即是對插入數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行限定,為了保證數(shù)據(jù)的有效性和完整性,下面一起來了解具體的詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2021-12-12
Mysql觸發(fā)器在PHP項目中用來做信息備份、恢復(fù)和清空
這篇文章主要介紹了Mysql觸發(fā)器在PHP項目中用來做信息備份、恢復(fù)和清空的相關(guān)資料,需要的朋友可以參考下2017-11-11
mysql修改數(shù)據(jù)庫引擎的幾種方法總結(jié)
這篇文章主要給大家介紹了關(guān)于mysql修改數(shù)據(jù)庫引擎的相關(guān)資料,包括使用ALTERTABLE語句、更改默認(rèn)存儲引擎、使用MySQLWorkbench、導(dǎo)出和導(dǎo)入數(shù)據(jù)以及編寫腳本批量修改,每種方法都有其優(yōu)缺點和適用場景,需要的朋友可以參考下2024-11-11
Mysql快速插入千萬條數(shù)據(jù)的實戰(zhàn)教程
這篇文章主要給大家介紹了關(guān)于Mysql快速插入千萬條數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

