MySQL Error 2006 : MySQL server has gone away 해결하기

by l2zeo posted Mar 08, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

이 문제에 관련하여 여러가지 경우(접속시간이 지나치게 길어서 접속이 끊어졌거나, 접속이 끊어졌는데 쿼리를 날리려고 하는 등...)가 있겠지만 내가 설명하는 경우는 날리려는 쿼리가 지나치게 클 때 해결할 수 있는 방법이다.

 

이는 다른 문제가 아니라 max_allowed_packet 값이 너무 작아서이다.

클라이언트의 경우 기본 max_allowed_packet의 값은 16M인데

서버의 경우 기본 max_allowed_packet의 값은 1M밖에 되지 않는다.

 

그래서 쿼리를 날릴 때에는 문제가 없었는데 서버에 insert나 update시에 문제가 발생하는 것이다.

이 값을 고쳐주기 위해서는.

 

set GLOBAL max_allowed_packet = 1024 * 1024 * 64;
set SESSION max_allowed_packet = 1024 * 1024 * 64;


이런 쿼리를 서버에 날려주자.

제한 용량이 64M로 바뀌면서 아무런 문제없이 쿼리를 읽어들이는 서버의 모습을 보게 될 것이다.ㅎ