解決MySQL server has gone away |
發(fā)布時(shí)間: 2012/9/3 17:12:07 |
應(yīng)用程序(比如PHP)長(zhǎng)時(shí)間的執(zhí)行批量的MYSQL語句。執(zhí)行一個(gè)SQL,但SQL語句過大或者語句中含有BLOB或者longblob字段。比如,圖片數(shù)據(jù)的處理。都容易引起MySQL server has gone away。 今天遇到類似的情景,MySQL只是冷冷的說:MySQL server has gone away。 大概瀏覽了一下,主要可能是因?yàn)橐韵聨追N原因:- 一種可能是發(fā)送的SQL語句太長(zhǎng),以致超過了max_allowed_packet的大小,如果是這種原因,你只要修改my.cnf,加大max_allowed_packet的值即可。 還有一種可能是因?yàn)槟承┰驅(qū)е鲁瑫r(shí),比如說程序中獲取數(shù)據(jù)庫連接時(shí)采用了Singleton的做法,雖然多次連接數(shù)據(jù)庫,但其實(shí)使用的都是同一個(gè)連接,而且程序中某兩次操作數(shù)據(jù)庫的間隔時(shí)間超過了wait_timeout(SHOW STATUS能看到此設(shè)置),那么就可能出現(xiàn)問題。最簡(jiǎn)單的處理方式就是把wait_timeout改大,當(dāng)然你也可以在程序里時(shí)不時(shí)順手mysql_ping()一下,這樣MySQL就知道它不是一個(gè)人在戰(zhàn)斗。 解決MySQL server has gone away 1、應(yīng)用程序(比如PHP)長(zhǎng)時(shí)間的執(zhí)行批量的MYSQL語句。最常見的就是采集或者新舊數(shù)據(jù)轉(zhuǎn)化。
本文出自:億恩科技【www.riomediacenter.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |